// This file was autogenerated by Hardhat, do not edit it. // prettier-ignore // tslint:disable // eslint-disable // biome-ignore format: see above export interface IssuanceAllocator$Type { readonly _format: "hh3-artifact-1"; readonly contractName: "IssuanceAllocator"; readonly sourceName: "contracts/allocate/IssuanceAllocator.sol"; readonly abi: [{"inputs":[{"internalType":"address","name":"_graphToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"defaultTarget","type":"address"}],"name":"CannotSetAllocationForDefaultTarget","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"CannotSetDefaultToAllocatedTarget","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"GovernorCannotBeZeroAddress","type":"error"},{"inputs":[],"name":"GraphTokenCannotBeZeroAddress","type":"error"},{"inputs":[{"internalType":"uint256","name":"requested","type":"uint256"},{"internalType":"uint256","name":"available","type":"uint256"}],"name":"InsufficientAllocationAvailable","type":"error"},{"inputs":[{"internalType":"uint256","name":"oldRate","type":"uint256"},{"internalType":"uint256","name":"newRate","type":"uint256"},{"internalType":"uint256","name":"unallocated","type":"uint256"}],"name":"InsufficientUnallocatedForRateDecrease","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"TargetAddressCannotBeZero","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"TargetDoesNotSupportIIssuanceTarget","type":"error"},{"inputs":[{"internalType":"uint256","name":"toBlock","type":"uint256"},{"internalType":"uint256","name":"minBlock","type":"uint256"},{"internalType":"uint256","name":"maxBlock","type":"uint256"}],"name":"ToBlockOutOfRange","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"},{"indexed":true,"internalType":"address","name":"newAddress","type":"address"}],"name":"DefaultTargetUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"fromBlock","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"toBlock","type":"uint256"}],"name":"IssuanceDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldIssuancePerBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newIssuancePerBlock","type":"uint256"}],"name":"IssuancePerBlockUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"fromBlock","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"toBlock","type":"uint256"}],"name":"IssuanceSelfMintAllowance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"fromBlock","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"toBlock","type":"uint256"}],"name":"IssuanceSelfMintAllowanceAggregate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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":"enum SelfMintingEventMode","name":"oldMode","type":"uint8"},{"indexed":false,"internalType":"enum SelfMintingEventMode","name":"newMode","type":"uint8"}],"name":"SelfMintingEventModeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"offsetBefore","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"offsetAfter","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"fromBlock","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"toBlock","type":"uint256"}],"name":"SelfMintingOffsetAccumulated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"offsetBefore","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"offsetAfter","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalForPeriod","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"fromBlock","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"toBlock","type":"uint256"}],"name":"SelfMintingOffsetReconciled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"newAllocatorMintingRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newSelfMintingRate","type":"uint256"}],"name":"TargetAllocationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOVERNOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MILLION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPERATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeIssuance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributePendingIssuance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"toBlockNumber","type":"uint256"}],"name":"distributePendingIssuance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"forceTargetNoChangeNotificationBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getDistributionState","outputs":[{"components":[{"internalType":"uint256","name":"lastDistributionBlock","type":"uint256"},{"internalType":"uint256","name":"lastSelfMintingBlock","type":"uint256"},{"internalType":"uint256","name":"selfMintingOffset","type":"uint256"}],"internalType":"struct DistributionState","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getIssuancePerBlock","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":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMembers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSelfMintingEventMode","outputs":[{"internalType":"enum SelfMintingEventMode","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"getTargetAllocation","outputs":[{"components":[{"internalType":"uint256","name":"totalAllocationRate","type":"uint256"},{"internalType":"uint256","name":"allocatorMintingRate","type":"uint256"},{"internalType":"uint256","name":"selfMintingRate","type":"uint256"}],"internalType":"struct Allocation","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getTargetAt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTargetCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"getTargetData","outputs":[{"components":[{"internalType":"uint256","name":"allocatorMintingRate","type":"uint256"},{"internalType":"uint256","name":"selfMintingRate","type":"uint256"},{"internalType":"uint256","name":"lastChangeNotifiedBlock","type":"uint256"}],"internalType":"struct AllocationTarget","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"getTargetIssuancePerBlock","outputs":[{"components":[{"internalType":"uint256","name":"allocatorIssuanceRate","type":"uint256"},{"internalType":"uint256","name":"allocatorIssuanceBlockAppliedTo","type":"uint256"},{"internalType":"uint256","name":"selfIssuanceRate","type":"uint256"},{"internalType":"uint256","name":"selfIssuanceBlockAppliedTo","type":"uint256"}],"internalType":"struct TargetIssuancePerBlock","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTargets","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalAllocation","outputs":[{"components":[{"internalType":"uint256","name":"totalAllocationRate","type":"uint256"},{"internalType":"uint256","name":"allocatorMintingRate","type":"uint256"},{"internalType":"uint256","name":"selfMintingRate","type":"uint256"}],"internalType":"struct Allocation","name":"allocation","type":"tuple"}],"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":"_governor","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"notifyTarget","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"address","name":"newAddress","type":"address"}],"name":"setDefaultTarget","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"},{"internalType":"uint256","name":"minDistributedBlock","type":"uint256"}],"name":"setDefaultTarget","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newIssuancePerBlock","type":"uint256"}],"name":"setIssuancePerBlock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newIssuancePerBlock","type":"uint256"},{"internalType":"uint256","name":"minDistributedBlock","type":"uint256"}],"name":"setIssuancePerBlock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum SelfMintingEventMode","name":"newMode","type":"uint8"}],"name":"setSelfMintingEventMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IIssuanceTarget","name":"target","type":"address"},{"internalType":"uint256","name":"allocatorMintingRate","type":"uint256"}],"name":"setTargetAllocation","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IIssuanceTarget","name":"target","type":"address"},{"internalType":"uint256","name":"allocatorMintingRate","type":"uint256"},{"internalType":"uint256","name":"selfMintingRate","type":"uint256"}],"name":"setTargetAllocation","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IIssuanceTarget","name":"target","type":"address"},{"internalType":"uint256","name":"allocatorMintingRate","type":"uint256"},{"internalType":"uint256","name":"selfMintingRate","type":"uint256"},{"internalType":"uint256","name":"minDistributedBlock","type":"uint256"}],"name":"setTargetAllocation","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]; readonly bytecode: "0x60a03461012e57601f612d9c38819003918201601f19168301916001600160401b038311848410176101325780849260209460405283398101031261012e57516001600160a01b0381169081900361012e57801561011f576080525f516020612d7c5f395f51905f525460ff8160401c16610110576002600160401b03196001600160401b038216016100ba575b604051612c359081610147823960805181818161184601528181611941015281816125e501526128a00152f35b6001600160401b0319166001600160401b039081175f516020612d7c5f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61008d565b63f92ee8a960e01b5f5260045ffd5b6369e4eeb360e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714611009575080631156bdc114610fda57806313a7855d14610fa057806315d3b5d814610f27578063248a9ca314610f095780632f2ff15d14610ed85780633067cb4c14610e3057806332bc934c14610e1357806336568abe14610dcf578063389ed26714610da85780633af5b07314610d7d5780633f4ba83a14610cff578063443990fa14610cbd5780634887693c14610c8a57806348c3c62e14610c0457806349bdfcb014610bc75780634a1293b714610ba157806352c0e18c14610b5b5780635c975abb14610b2d57806363fe3b5614610ac4578063647b368214610a7e578063697cf32214610a4957806379d5fc5414610a265780637c92330b146109d65780638456cb591461095557806384c48422146108f557806387ee921c146108cc5780639010d07c1461087b57806391d148541461082657806393c911a8146107f8578063a217fddf146107de578063a3246ad31461075e578063c2cb354414610716578063c4d66de8146103a4578063c627b7a414610373578063ca15c8731461033d578063ccc5749014610316578063d012a15b146102c5578063d547741f1461028d578063ee56977e1461021d5763f5b541a6146101df575f80fd5b34610219575f3660031901126102195760206040517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b5f80fd5b34610219575f3660031901126102195761023561125e565b506060610240611566565b60018101549060036002820154910154906040519261025e84611220565b83526020830152604082015261028b60405180926040809180518452602081015160208501520151910152565bf35b34610219576040366003190112610219576102c36004356102ac6110f2565b906102be6102b98261129d565b6113f1565b6115f0565b005b346102195760403660031901126102195760206102fc6102e3611108565b6102eb61134c565b6102f3611437565b60243590612024565b5f5f516020612ba05f395f51905f525d6040519015158152f35b34610219575f3660031901126102195760206040515f516020612b205f395f51905f528152f35b34610219576020366003190112610219576004355f525f516020612ac05f395f51905f52602052602060405f2054604051908152f35b346102195760403660031901126102195761038c61134c565b610394611437565b60206102fc60243560043561146c565b34610219576020366003190112610219576103bd611108565b5f516020612be05f395f51905f52549060ff8260401c16159167ffffffffffffffff81168015908161070e575b6001149081610704575b1590816106fb575b506106ec5767ffffffffffffffff1981166001175f516020612be05f395f51905f5255826106c0575b5061042e612a74565b610436612a74565b6001600160a01b0381169081156106b1575f516020612b205f395f51905f525f8181525f516020612b405f395f51905f526020527f75e09417c5070057df3eafe5054d52fa0b2a87d64a235e197963b615aedee80480549083905561059c93929182905f516020612aa05f395f51905f529080a45f516020612b805f395f51905f525f8181525f516020612b405f395f51905f526020527f85aa68ae9688c2bba3dc27a57a38bf2786c03751927fe89ecfd8b396d55ff13480545f516020612b205f395f51905f5291829055909290915f516020612aa05f395f51905f529080a47f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9295f8181525f516020612b405f395f51905f526020527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb45780545f516020612b205f395f51905f5291829055909290915f516020612aa05f395f51905f529080a461219a565b61065f575b506105aa611566565b600581018054600160401b81101561064b576105cb916001820181556112ee565b81549060018060a01b039060031b1b1916905560078101600260ff198254161790556001439101556105f957005b60ff60401b195f516020612be05f395f51905f5254165f516020612be05f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b634e487b7160e01b5f52604160045260245ffd5b5f516020612b205f395f51905f525f525f516020612ac05f395f51905f526020526106aa907f955af8caaf1bb5fca493cbb01cefeb9e610a81071c268cd8b40c82100cbb956e612960565b50816105a1565b63395d053560e01b5f5260045ffd5b68ffffffffffffffffff191668010000000000000001175f516020612be05f395f51905f525582610425565b63f92ee8a960e01b5f5260045ffd5b905015846103fc565b303b1591506103f4565b8491506103ea565b346102195760803660031901126102195760206102fc610734611108565b61073c61134c565b610744611437565b6064359060443590602435906001600160a01b0316611cc8565b34610219576020366003190112610219576004355f525f516020612ac05f395f51905f5260205260405f206040519081602082549182815201915f5260205f20905f5b8181106107c8576107c4856107b88187038261123c565b6040519182918261111e565b0390f35b82548452602090930192600192830192016107a1565b34610219575f3660031901126102195760206040515f8152f35b34610219575f36600319011261021957602060ff6007610816611566565b01541661028b6040518092611160565b346102195760403660031901126102195761083f6110f2565b6004355f525f516020612b405f395f51905f5260205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610219576040366003190112610219576004355f525f516020612ac05f395f51905f5260205260206108b360243560405f206112ee565b905460405160039290921b1c6001600160a01b03168152f35b346102195760203660031901126102195760206108b360043560056108ef611566565b016112ee565b346102195760203660031901126102195761090e611108565b61091661125e565b506004610921611566565b019060018060a01b03165f52602052606060405f206001815491015461094781836112bb565b916040519261025e84611220565b34610219575f3660031901126102195761096d611395565b5f516020612b605f395f51905f525460ff81166109c75760019060ff1916175f516020612b605f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b63d93c066560e01b5f5260045ffd5b346102195760403660031901126102195760206109f1611108565b602435906109fd61134c565b6004610a07611566565b019060018060a01b03165f52825280600260405f200155604051908152f35b34610219575f366003190112610219576020610a40611566565b54604051908152f35b346102195760203660031901126102195760206102fc610a67611108565b610a6f61134c565b610a77611437565b4390612024565b346102195760603660031901126102195760206102fc610a9c611108565b610aa461134c565b610aac611437565b439060443590602435906001600160a01b0316611cc8565b34610219575f366003190112610219576005610ade611566565b016040519081602082549182815201915f5260205f20905f5b818110610b0e576107c4856107b88187038261123c565b82546001600160a01b0316845260209093019260019283019201610af7565b34610219575f36600319011261021957602060ff5f516020612b605f395f51905f5254166040519015158152f35b3461021957602036600319011261021957610b7461134c565b610b7c611437565b6020610b89600435611645565b5f5f516020612ba05f395f51905f525d604051908152f35b34610219575f3660031901126102195760206005610bbd611566565b0154604051908152f35b34610219575f366003190112610219576001610be1611566565b01544303610bf5576020435b604051908152f35b6020610bff611fda565b610bed565b3461021957602036600319011261021957610c1d611108565b610c2561125e565b506004610c30611566565b019060018060a01b03165f52602052606060405f20600260405191610c5483611220565b80548352600181015460208401520154604082015261028b60405180926040809180518452602081015160208501520151910152565b346102195760203660031901126102195760206102fc610ca8611108565b610cb061134c565b610cb8611437565b611f60565b346102195760403660031901126102195760206102fc610cdb611108565b610ce361134c565b610ceb611437565b4390602435906001600160a01b0316611a18565b34610219575f36600319011261021957610d17611395565b5f516020612b605f395f51905f525460ff811615610d6e5760ff19165f516020612b605f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610219575f36600319011261021957610d9561134c565b610d9d611437565b6020610b8943611645565b34610219575f3660031901126102195760206040515f516020612b805f395f51905f528152f35b3461021957604036600319011261021957610de86110f2565b336001600160a01b03821603610e04576102c3906004356115f0565b63334bd91960e11b5f5260045ffd5b34610219575f366003190112610219576020604051620f42408152f35b34610219576020366003190112610219576080610e4b611108565b5f6060604051610e5a81611204565b8281528260208201528260408201520152610e73611566565b9060018060a01b03165f526004810160205260405f208054916002600180830154930154910154916060604051610ea981611204565b858152602081019283526040810193845201928352604051938452516020840152516040830152516060820152f35b34610219576040366003190112610219576102c3600435610ef76110f2565b90610f046102b98261129d565b6115aa565b34610219576020366003190112610219576020610bed60043561129d565b34610219575f366003190112610219576060610f4161125e565b610f7a610f4c611566565b6006610f6882545f80526004840160205260405f20549061127c565b9182855201549081604085015261127c565b602082015261028b60405180926040809180518452602081015160208501520151910152565b3461021957602036600319011261021957600435600381101561021957610fd0602091610fcb61134c565b611181565b6040519015158152f35b3461021957602036600319011261021957610ff361134c565b610ffb611437565b60206102fc4360043561146c565b34610219576020366003190112610219576004359063ffffffff60e01b821680920361021957602091631e768dff60e21b81149081156110e1575b81156110d0575b81156110bf575b8115611060575b5015158152f35b631cf1473b60e31b81149150811561107a575b5083611059565b635a05180f60e01b811491508115611094575b5083611073565b637965db0b60e01b8114915081156110ae575b508361108d565b6301ffc9a760e01b149050836110a7565b632461e31760e11b81149150611052565b63a896602d60e01b8114915061104b565b6350d8541d60e01b81149150611044565b602435906001600160a01b038216820361021957565b600435906001600160a01b038216820361021957565b60206040818301928281528451809452019201905f5b8181106111415750505090565b82516001600160a01b0316845260209384019390920191600101611134565b90600382101561116d5752565b634e487b7160e01b5f52602160045260245ffd5b600761118b611566565b019060ff825416600381101561116d57600382101561116d578082146111fc576111f66040927f3f59746e46bfb9af931035055d53b82d1b70968466065162b7dbf8e998aee6299460ff1981541660ff83161790556111ec84518094611160565b6020830190611160565ba1600190565b505050600190565b6080810190811067ffffffffffffffff82111761064b57604052565b6060810190811067ffffffffffffffff82111761064b57604052565b90601f8019910116810190811067ffffffffffffffff82111761064b57604052565b6040519061126b82611220565b5f6040838281528260208201520152565b9190820391821161128957565b634e487b7160e01b5f52601160045260245ffd5b5f525f516020612b405f395f51905f52602052600160405f20015490565b9190820180921161128957565b8054156112da575f5260205f20905f90565b634e487b7160e01b5f52603260045260245ffd5b80548210156112da575f5260205f2001905f90565b80549190600160401b83101561064b578261132691600161134a950181556112ee565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b565b335f9081525f516020612ae05f395f51905f52602052604090205460ff161561137157565b63e2517d3f60e01b5f52336004525f516020612b205f395f51905f5260245260445ffd5b335f9081527f85aa68ae9688c2bba3dc27a57a38bf2786c03751927fe89ecfd8b396d55ff133602052604090205460ff16156113cd57565b63e2517d3f60e01b5f52336004525f516020612b805f395f51905f5260245260445ffd5b5f8181525f516020612b405f395f51905f526020908152604080832033845290915290205460ff16156114215750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f516020612ba05f395f51905f525c61145d5760015f516020612ba05f395f51905f525d565b633ee5aeb560e01b5f5260045ffd5b611474611566565b80549283831461155d57611486611fda565b10611556576114bb600582016114b561149e826112c8565b905460039190911b1c6001600160a01b0316611f60565b506112c8565b905460039190911b1c6001600160a01b03165f908152600482016020526040902080546114e881856112bb565b851161153c5792849281926115297f2925be3e6d4b2cbcec6c06d5060fb3b53f160410555e45ee0a1f6dc7ae9b24c097611524856040996112bb565b61127c565b90555582519182526020820152a1600190565b8385632c421f2b60e21b5f5260045260245260445260645ffd5b5050505f90565b50505050600190565b604051602081017f109cdeb08b6fcb52a0f8a35af1bf023afdacdc6e602b08424b2171d0f4fa3cd481526020825261159f60408361123c565b9051902060ff191690565b6115b48282612232565b91826115bf57505090565b5f9182525f516020612ac05f395f51905f5260205260409091206115ec916001600160a01b031690612960565b5090565b6115fa82826122d0565b918261160557505090565b5f9182525f516020612ac05f395f51905f5260205260409091206115ec916001600160a01b0316906129c3565b8181029291811591840414171561128957565b61164d61236c565b611655611566565b600181019081548381111580611a0e575b156119f457611675908461127c565b9182156119ee578382549161168a8584611632565b926003850154948486105f146119e7576116a4868661127c565b915b8261174a575b505050556116b8611566565b9043850361172c575f935b8484036116d6575b505060039150015590565b6116e0908661127c565b60018101809111611289577f1a45018bdab6039c806fac73d617b3bc5c6a2a0f22f6f90d2ca202b083087f99606060039588946040519182528860208301526040820152a35f806116cb565b828110156117445761173e818461127c565b936116c3565b5f61173e565b6117969293945061178e90611761600584016112c8565b905460039190911b1c6001600160a01b03165f90815260048401602052604090206006909301549061127c565b90549061127c565b906117a18683611632565b808210156117bf5750868093926117b792612553565b5f80806116ac565b9695939294909791506117d0611566565b9260018401549560018701809711611289576001999860046005870196019a5b86548110156118f75761180381886112ee565b905460039190911b1c6001600160a01b03165f81815260208e9052604090205490919089908061183a575b505060019150016117f0565b9061184491611632565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169290833b15610219576040516340c10f1960e01b81526001600160a01b038316600482015260248101829052935f908590604490829084905af19182156118ec575f516020612b005f395f51905f5260208f94938f94976001986118dc575b50604051908152a4885f61182e565b5f6118e69161123c565b5f6118cd565b6040513d5f823e3d90fd5b5061190e91949a508899989592969897939761127c565b908161191d575b5050506117b7565b611926906112c8565b905460039190911b1c6001600160a01b0316918215611915577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031694509091843b15610219576040516340c10f1960e01b81526001600160a01b038216600482015260248101849052945f908690604490829084905af19485156118ec5760208a96945f516020612b005f395f51905f529288966119d7575b50604051908152a45f8080611915565b5f6119e19161123c565b5f6119c7565b5f916116a6565b50505090565b8363a0d2b9db60e01b5f526004526024524360445260645ffd5b5043841115611666565b9091611a255f84846126ba565b156111fc57611a32611fda565b10611cc257611a4081611f60565b50611a5761149e6005611a51611566565b016112c8565b50611a60611566565b600481019060018060a01b0383165f528160205260405f2091611a85600583016112c8565b905460039190911b1c6001600160a01b03165f9081526020919091526040902080548354611ac491600191611ab9916112bb565b9401938454906112bb565b808611611cac5791600691611adc87611aea9561127c565b90550191825490549061127c565b9055611af4611566565b6001600160a01b0382165f9081526004820160205260409020908315801590611ca5575b15611b8357915f6001835f516020612bc05f395f51905f529584604096541580611b78575b611b65575b505086815501555b81519384525f60208501526001600160a01b031692a2600190565b6005611b719201611303565b5f84611b42565b508383015415611b3d565b505090611b8e611566565b916001600160a01b03811690600584019060015b825480821015611c875784611bb783866112ee565b905460039190911b1c6001600160a01b031614611bd75750600101611ba2565b905f96929394959619820191821161128957611326611bf9611c1293876112ee565b905460039190911b1c6001600160a01b031691866112ee565b8254908115611c73575f516020612bc05f395f51905f52946040946004935f190190611c56611c4183836112ee565b81549060018060a01b039060031b1b19169055565b555f52016020525f60028382208281558260018201550155611b4a565b634e487b7160e01b5f52603160045260245ffd5b505090505f516020612bc05f395f51905f5292935060409150611b4a565b505f611b18565b8563162930e360e11b5f5260045260245260445ffd5b50505f90565b92919091611cd78284866126ba565b1561155d57611ce4611fda565b1061155657611cf283611f60565b50611d0361149e6005611a51611566565b50611d0c611566565b600481019060018060a01b0385165f528160205260405f2091611d31600583016112c8565b905460039190911b1c6001600160a01b03165f9081526020919091526040902080548354611d6591600191611ab9916112bb565b80611d7086886112bb565b11611d7b86886112bb565b90611f4b57506006611dad938693611d9a856115248b611da89761127c565b90550193845490549061127c565b6112bb565b9055611db7611566565b6001600160a01b0384165f9081526004820160205260409020908315801590611f42575b15611e47579180600183604095885f516020612bc05f395f51905f52989996541580611e3c575b611e29575b505087815501555b825194855260208501526001600160a01b031692a2600190565b6005611e359201611303565b5f85611e07565b508383015415611e02565b505091611e52611566565b926001600160a01b03821691600585019160015b835480821015611f235785611e7b83876112ee565b905460039190911b1c6001600160a01b031614611e9b5750600101611e66565b905f9792939495969719820191821161128957611326611ebe611ed793886112ee565b905460039190911b1c6001600160a01b031691876112ee565b8354908115611c73575f516020612bc05f395f51905f52956040956004935f190190611f06611c4183836112ee565b555f52016020525f60028482208281558260018201550155611e0f565b50509091505f516020612bc05f395f51905f5293945060409250611e0f565b50821515611ddb565b63162930e360e11b5f5260045260245260445ffd5b6001600160a01b03168015611fbd576004611f79611566565b01815f52602052600260405f20018054431115611fd357439055803b15610219575f8091600460405180948193631efc6b4160e11b83525af180156118ec57611fc3575b50600190565b5f611fcd9161123c565b5f611fbd565b5050600190565b611fe2611566565b611fea61236c565b60ff5f516020612b605f395f51905f52541661201d5760030154156120155761201243611645565b90565b612012612806565b6001015490565b61202c611566565b90600582019061203b826112c8565b90546001600160a01b038381169660039390931b9190911c16939085851461218f57835460015b818110612152575050612073611fda565b106121495760046120ac9161208786611f60565b5061209184611f60565b500191855f5282602052611326600260405f200154946112c8565b6001600160a01b0383165f9081526020829052604080822086835291209080820361212b575b505060018060a01b0383165f52806020525f6002604082208281558260018201550155835f52602052600260405f2001557ef06471e88e0bc1db6b6126efdb09f80b597e6ddc145ff0dcabd12afab4ec575f80a3600190565b60028181925484556001810154600185015501549101555f806120d2565b50505050505f90565b8761215d82886112ee565b905460039190911b1c6001600160a01b03161461217c57600101612062565b8763f158185d60e01b5f5260045260245ffd5b505050505050600190565b6001600160a01b0381165f9081525f516020612ae05f395f51905f52602052604090205460ff1661222d576001600160a01b03165f8181525f516020612ae05f395f51905f5260205260408120805460ff191660011790553391905f516020612b205f395f51905f52907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b505f90565b5f8181525f516020612b405f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff16611cc2575f8181525f516020612b405f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b5f8181525f516020612b405f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff1615611cc2575f8181525f516020612b405f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b612374611566565b6002810190815443811461254e5761238c814361127c565b9260018201809211611289576003830180549060ff5f516020612b605f395f51905f5254168015612545575b6124ea575b50504390556006820154806123d3575b50505050565b60ff600784015416600381101561116d576002810361249657505060058201805493600490930192905f5b858110612415575050505050505b5f8080806123cd565b80612422600192846112ee565b838060a01b0391549060031b1c16828060a01b0381165f5286602052858360405f2001548681612457575b50505050016123fe565b61246091611632565b916040519283527fa34db09d4126dd8dcd1d29f3df65c01dcac405127546e380add77fedca459ba760204394a45f85818661244d565b9193909250906001146124ac575b50505061240c565b6124b591611632565b906040519182527fcef44ce1a1fc7ca1f3078daf79d3b60646d0e751bc72a69bff12f66c4aef3b8d60204393a35f80806124a4565b6125016124fb876006880154611632565b836112bb565b809155808203156123bd576040519182526020820152827f0539ce444a515b8aa8769802297761fbec80b5b543c617714bf5e0611cf669db60404393a35f806123bd565b508115156123b8565b505050565b91909161255e611566565b9280158080156126b2575b6126ab57600185015492600184018094116112895760048601969560050160015b81548110156126a05761259d81836112ee565b905460039190911b1c6001600160a01b03165f81815260208b905260409020549091908590806125d4575b5050600191500161258a565b6125de9086611632565b9061268c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169290879004833b15610219576040516340c10f1960e01b81526001600160a01b038316600482015260248101829052935f908590604490829084905af19182156118ec575f516020612b005f395f51905f5260208b936001978e9661267c575b50604051908152a4845f6125c8565b5f6126869161123c565b5f61266d565b634e487b7160e01b5f52601260045260245ffd5b505050505050509050565b5050505050565b508215612569565b6001600160a01b0316919082156127f7576126d3611566565b600581016126fd6126e3826112c8565b905460039190911b1c6001600160a01b03168614916112c8565b905460039190911b1c6001600160a01b0316906127e55750600490845f520160205260405f20828282541491826127d7575b50506115565715908115916127cd575b5061274a5750600190565b6040516301ffc9a760e01b815263aee4dc4360e01b6004820152602081602481855afa9081156118ec575f91612792575b50611fbd5763a5fe861560e01b5f5260045260245ffd5b90506020813d6020116127c5575b816127ad6020938361123c565b8101031261021957518015158103610219575f61277b565b3d91506127a0565b905015155f61273f565b60010154149050825f61272f565b63fda6c18760e01b5f5260045260245ffd5b6322a4ec7b60e11b5f5260045ffd5b61280e611566565b906001820191825490612821824361127c565b9081156129595760018301809311611289575f94936004600583019201955b825481101561294c5761285381846112ee565b905460039190911b1c6001600160a01b03169081156129435760018060a01b0382165f52876020528460405f205480612894575b5050600191505b01612840565b9061289e91611632565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692833b15610219576040516340c10f1960e01b81526001600160a01b038216600482015260248101839052935f908590604490829084905af19081156118ec576001948992612933575b506040519283525f516020612b005f395f51905f5260204394a4845f612887565b5f61293d9161123c565b5f612912565b6001915061288e565b5094505050504390554390565b5090925050565b6001810190825f528160205260405f2054155f14611556578054600160401b81101561064b576129b061299a8260018794018555846112ee565b819391549060031b91821b915f19901b19161790565b905554915f5260205260405f2055600190565b906001820191815f528260205260405f20548015155f14612a6c575f1981018181116112895782545f1981019190821161128957818103612a37575b50505080548015611c73575f190190612a1882826112ee565b8154905f199060031b1b19169055555f526020525f6040812055600190565b612a57612a4761299a93866112ee565b90549060031b1c928392866112ee565b90555f528360205260405f20555f80806129ff565b505050505f90565b60ff5f516020612be05f395f51905f525460401c1615612a9057565b631afcd79f60e31b5f5260045ffdfebd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ffc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e8237170593200075e09417c5070057df3eafe5054d52fa0b2a87d64a235e197963b615aedee8030c56d855d8df534c916b78eac3522e5fafd59f48799c4a97d42e80f6e08989607935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5502dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300139c2898040ef16910dc9f44dc697df79363da767d8bc92f2e310312b816e46d9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f001bd3f0d2f1001a856d81215ceb86c548bdbc3bf52480a08978f8c3ea6e2bd421f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212201c8c01bf4f8279df7af8f2e90eea4858f9d7498c6312cc7cc9542590ff22a1fb64736f6c63430008210033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00"; readonly deployedBytecode: "0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714611009575080631156bdc114610fda57806313a7855d14610fa057806315d3b5d814610f27578063248a9ca314610f095780632f2ff15d14610ed85780633067cb4c14610e3057806332bc934c14610e1357806336568abe14610dcf578063389ed26714610da85780633af5b07314610d7d5780633f4ba83a14610cff578063443990fa14610cbd5780634887693c14610c8a57806348c3c62e14610c0457806349bdfcb014610bc75780634a1293b714610ba157806352c0e18c14610b5b5780635c975abb14610b2d57806363fe3b5614610ac4578063647b368214610a7e578063697cf32214610a4957806379d5fc5414610a265780637c92330b146109d65780638456cb591461095557806384c48422146108f557806387ee921c146108cc5780639010d07c1461087b57806391d148541461082657806393c911a8146107f8578063a217fddf146107de578063a3246ad31461075e578063c2cb354414610716578063c4d66de8146103a4578063c627b7a414610373578063ca15c8731461033d578063ccc5749014610316578063d012a15b146102c5578063d547741f1461028d578063ee56977e1461021d5763f5b541a6146101df575f80fd5b34610219575f3660031901126102195760206040517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b5f80fd5b34610219575f3660031901126102195761023561125e565b506060610240611566565b60018101549060036002820154910154906040519261025e84611220565b83526020830152604082015261028b60405180926040809180518452602081015160208501520151910152565bf35b34610219576040366003190112610219576102c36004356102ac6110f2565b906102be6102b98261129d565b6113f1565b6115f0565b005b346102195760403660031901126102195760206102fc6102e3611108565b6102eb61134c565b6102f3611437565b60243590612024565b5f5f516020612ba05f395f51905f525d6040519015158152f35b34610219575f3660031901126102195760206040515f516020612b205f395f51905f528152f35b34610219576020366003190112610219576004355f525f516020612ac05f395f51905f52602052602060405f2054604051908152f35b346102195760403660031901126102195761038c61134c565b610394611437565b60206102fc60243560043561146c565b34610219576020366003190112610219576103bd611108565b5f516020612be05f395f51905f52549060ff8260401c16159167ffffffffffffffff81168015908161070e575b6001149081610704575b1590816106fb575b506106ec5767ffffffffffffffff1981166001175f516020612be05f395f51905f5255826106c0575b5061042e612a74565b610436612a74565b6001600160a01b0381169081156106b1575f516020612b205f395f51905f525f8181525f516020612b405f395f51905f526020527f75e09417c5070057df3eafe5054d52fa0b2a87d64a235e197963b615aedee80480549083905561059c93929182905f516020612aa05f395f51905f529080a45f516020612b805f395f51905f525f8181525f516020612b405f395f51905f526020527f85aa68ae9688c2bba3dc27a57a38bf2786c03751927fe89ecfd8b396d55ff13480545f516020612b205f395f51905f5291829055909290915f516020612aa05f395f51905f529080a47f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9295f8181525f516020612b405f395f51905f526020527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb45780545f516020612b205f395f51905f5291829055909290915f516020612aa05f395f51905f529080a461219a565b61065f575b506105aa611566565b600581018054600160401b81101561064b576105cb916001820181556112ee565b81549060018060a01b039060031b1b1916905560078101600260ff198254161790556001439101556105f957005b60ff60401b195f516020612be05f395f51905f5254165f516020612be05f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b634e487b7160e01b5f52604160045260245ffd5b5f516020612b205f395f51905f525f525f516020612ac05f395f51905f526020526106aa907f955af8caaf1bb5fca493cbb01cefeb9e610a81071c268cd8b40c82100cbb956e612960565b50816105a1565b63395d053560e01b5f5260045ffd5b68ffffffffffffffffff191668010000000000000001175f516020612be05f395f51905f525582610425565b63f92ee8a960e01b5f5260045ffd5b905015846103fc565b303b1591506103f4565b8491506103ea565b346102195760803660031901126102195760206102fc610734611108565b61073c61134c565b610744611437565b6064359060443590602435906001600160a01b0316611cc8565b34610219576020366003190112610219576004355f525f516020612ac05f395f51905f5260205260405f206040519081602082549182815201915f5260205f20905f5b8181106107c8576107c4856107b88187038261123c565b6040519182918261111e565b0390f35b82548452602090930192600192830192016107a1565b34610219575f3660031901126102195760206040515f8152f35b34610219575f36600319011261021957602060ff6007610816611566565b01541661028b6040518092611160565b346102195760403660031901126102195761083f6110f2565b6004355f525f516020612b405f395f51905f5260205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610219576040366003190112610219576004355f525f516020612ac05f395f51905f5260205260206108b360243560405f206112ee565b905460405160039290921b1c6001600160a01b03168152f35b346102195760203660031901126102195760206108b360043560056108ef611566565b016112ee565b346102195760203660031901126102195761090e611108565b61091661125e565b506004610921611566565b019060018060a01b03165f52602052606060405f206001815491015461094781836112bb565b916040519261025e84611220565b34610219575f3660031901126102195761096d611395565b5f516020612b605f395f51905f525460ff81166109c75760019060ff1916175f516020612b605f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b63d93c066560e01b5f5260045ffd5b346102195760403660031901126102195760206109f1611108565b602435906109fd61134c565b6004610a07611566565b019060018060a01b03165f52825280600260405f200155604051908152f35b34610219575f366003190112610219576020610a40611566565b54604051908152f35b346102195760203660031901126102195760206102fc610a67611108565b610a6f61134c565b610a77611437565b4390612024565b346102195760603660031901126102195760206102fc610a9c611108565b610aa461134c565b610aac611437565b439060443590602435906001600160a01b0316611cc8565b34610219575f366003190112610219576005610ade611566565b016040519081602082549182815201915f5260205f20905f5b818110610b0e576107c4856107b88187038261123c565b82546001600160a01b0316845260209093019260019283019201610af7565b34610219575f36600319011261021957602060ff5f516020612b605f395f51905f5254166040519015158152f35b3461021957602036600319011261021957610b7461134c565b610b7c611437565b6020610b89600435611645565b5f5f516020612ba05f395f51905f525d604051908152f35b34610219575f3660031901126102195760206005610bbd611566565b0154604051908152f35b34610219575f366003190112610219576001610be1611566565b01544303610bf5576020435b604051908152f35b6020610bff611fda565b610bed565b3461021957602036600319011261021957610c1d611108565b610c2561125e565b506004610c30611566565b019060018060a01b03165f52602052606060405f20600260405191610c5483611220565b80548352600181015460208401520154604082015261028b60405180926040809180518452602081015160208501520151910152565b346102195760203660031901126102195760206102fc610ca8611108565b610cb061134c565b610cb8611437565b611f60565b346102195760403660031901126102195760206102fc610cdb611108565b610ce361134c565b610ceb611437565b4390602435906001600160a01b0316611a18565b34610219575f36600319011261021957610d17611395565b5f516020612b605f395f51905f525460ff811615610d6e5760ff19165f516020612b605f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610219575f36600319011261021957610d9561134c565b610d9d611437565b6020610b8943611645565b34610219575f3660031901126102195760206040515f516020612b805f395f51905f528152f35b3461021957604036600319011261021957610de86110f2565b336001600160a01b03821603610e04576102c3906004356115f0565b63334bd91960e11b5f5260045ffd5b34610219575f366003190112610219576020604051620f42408152f35b34610219576020366003190112610219576080610e4b611108565b5f6060604051610e5a81611204565b8281528260208201528260408201520152610e73611566565b9060018060a01b03165f526004810160205260405f208054916002600180830154930154910154916060604051610ea981611204565b858152602081019283526040810193845201928352604051938452516020840152516040830152516060820152f35b34610219576040366003190112610219576102c3600435610ef76110f2565b90610f046102b98261129d565b6115aa565b34610219576020366003190112610219576020610bed60043561129d565b34610219575f366003190112610219576060610f4161125e565b610f7a610f4c611566565b6006610f6882545f80526004840160205260405f20549061127c565b9182855201549081604085015261127c565b602082015261028b60405180926040809180518452602081015160208501520151910152565b3461021957602036600319011261021957600435600381101561021957610fd0602091610fcb61134c565b611181565b6040519015158152f35b3461021957602036600319011261021957610ff361134c565b610ffb611437565b60206102fc4360043561146c565b34610219576020366003190112610219576004359063ffffffff60e01b821680920361021957602091631e768dff60e21b81149081156110e1575b81156110d0575b81156110bf575b8115611060575b5015158152f35b631cf1473b60e31b81149150811561107a575b5083611059565b635a05180f60e01b811491508115611094575b5083611073565b637965db0b60e01b8114915081156110ae575b508361108d565b6301ffc9a760e01b149050836110a7565b632461e31760e11b81149150611052565b63a896602d60e01b8114915061104b565b6350d8541d60e01b81149150611044565b602435906001600160a01b038216820361021957565b600435906001600160a01b038216820361021957565b60206040818301928281528451809452019201905f5b8181106111415750505090565b82516001600160a01b0316845260209384019390920191600101611134565b90600382101561116d5752565b634e487b7160e01b5f52602160045260245ffd5b600761118b611566565b019060ff825416600381101561116d57600382101561116d578082146111fc576111f66040927f3f59746e46bfb9af931035055d53b82d1b70968466065162b7dbf8e998aee6299460ff1981541660ff83161790556111ec84518094611160565b6020830190611160565ba1600190565b505050600190565b6080810190811067ffffffffffffffff82111761064b57604052565b6060810190811067ffffffffffffffff82111761064b57604052565b90601f8019910116810190811067ffffffffffffffff82111761064b57604052565b6040519061126b82611220565b5f6040838281528260208201520152565b9190820391821161128957565b634e487b7160e01b5f52601160045260245ffd5b5f525f516020612b405f395f51905f52602052600160405f20015490565b9190820180921161128957565b8054156112da575f5260205f20905f90565b634e487b7160e01b5f52603260045260245ffd5b80548210156112da575f5260205f2001905f90565b80549190600160401b83101561064b578261132691600161134a950181556112ee565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b565b335f9081525f516020612ae05f395f51905f52602052604090205460ff161561137157565b63e2517d3f60e01b5f52336004525f516020612b205f395f51905f5260245260445ffd5b335f9081527f85aa68ae9688c2bba3dc27a57a38bf2786c03751927fe89ecfd8b396d55ff133602052604090205460ff16156113cd57565b63e2517d3f60e01b5f52336004525f516020612b805f395f51905f5260245260445ffd5b5f8181525f516020612b405f395f51905f526020908152604080832033845290915290205460ff16156114215750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f516020612ba05f395f51905f525c61145d5760015f516020612ba05f395f51905f525d565b633ee5aeb560e01b5f5260045ffd5b611474611566565b80549283831461155d57611486611fda565b10611556576114bb600582016114b561149e826112c8565b905460039190911b1c6001600160a01b0316611f60565b506112c8565b905460039190911b1c6001600160a01b03165f908152600482016020526040902080546114e881856112bb565b851161153c5792849281926115297f2925be3e6d4b2cbcec6c06d5060fb3b53f160410555e45ee0a1f6dc7ae9b24c097611524856040996112bb565b61127c565b90555582519182526020820152a1600190565b8385632c421f2b60e21b5f5260045260245260445260645ffd5b5050505f90565b50505050600190565b604051602081017f109cdeb08b6fcb52a0f8a35af1bf023afdacdc6e602b08424b2171d0f4fa3cd481526020825261159f60408361123c565b9051902060ff191690565b6115b48282612232565b91826115bf57505090565b5f9182525f516020612ac05f395f51905f5260205260409091206115ec916001600160a01b031690612960565b5090565b6115fa82826122d0565b918261160557505090565b5f9182525f516020612ac05f395f51905f5260205260409091206115ec916001600160a01b0316906129c3565b8181029291811591840414171561128957565b61164d61236c565b611655611566565b600181019081548381111580611a0e575b156119f457611675908461127c565b9182156119ee578382549161168a8584611632565b926003850154948486105f146119e7576116a4868661127c565b915b8261174a575b505050556116b8611566565b9043850361172c575f935b8484036116d6575b505060039150015590565b6116e0908661127c565b60018101809111611289577f1a45018bdab6039c806fac73d617b3bc5c6a2a0f22f6f90d2ca202b083087f99606060039588946040519182528860208301526040820152a35f806116cb565b828110156117445761173e818461127c565b936116c3565b5f61173e565b6117969293945061178e90611761600584016112c8565b905460039190911b1c6001600160a01b03165f90815260048401602052604090206006909301549061127c565b90549061127c565b906117a18683611632565b808210156117bf5750868093926117b792612553565b5f80806116ac565b9695939294909791506117d0611566565b9260018401549560018701809711611289576001999860046005870196019a5b86548110156118f75761180381886112ee565b905460039190911b1c6001600160a01b03165f81815260208e9052604090205490919089908061183a575b505060019150016117f0565b9061184491611632565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169290833b15610219576040516340c10f1960e01b81526001600160a01b038316600482015260248101829052935f908590604490829084905af19182156118ec575f516020612b005f395f51905f5260208f94938f94976001986118dc575b50604051908152a4885f61182e565b5f6118e69161123c565b5f6118cd565b6040513d5f823e3d90fd5b5061190e91949a508899989592969897939761127c565b908161191d575b5050506117b7565b611926906112c8565b905460039190911b1c6001600160a01b0316918215611915577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031694509091843b15610219576040516340c10f1960e01b81526001600160a01b038216600482015260248101849052945f908690604490829084905af19485156118ec5760208a96945f516020612b005f395f51905f529288966119d7575b50604051908152a45f8080611915565b5f6119e19161123c565b5f6119c7565b5f916116a6565b50505090565b8363a0d2b9db60e01b5f526004526024524360445260645ffd5b5043841115611666565b9091611a255f84846126ba565b156111fc57611a32611fda565b10611cc257611a4081611f60565b50611a5761149e6005611a51611566565b016112c8565b50611a60611566565b600481019060018060a01b0383165f528160205260405f2091611a85600583016112c8565b905460039190911b1c6001600160a01b03165f9081526020919091526040902080548354611ac491600191611ab9916112bb565b9401938454906112bb565b808611611cac5791600691611adc87611aea9561127c565b90550191825490549061127c565b9055611af4611566565b6001600160a01b0382165f9081526004820160205260409020908315801590611ca5575b15611b8357915f6001835f516020612bc05f395f51905f529584604096541580611b78575b611b65575b505086815501555b81519384525f60208501526001600160a01b031692a2600190565b6005611b719201611303565b5f84611b42565b508383015415611b3d565b505090611b8e611566565b916001600160a01b03811690600584019060015b825480821015611c875784611bb783866112ee565b905460039190911b1c6001600160a01b031614611bd75750600101611ba2565b905f96929394959619820191821161128957611326611bf9611c1293876112ee565b905460039190911b1c6001600160a01b031691866112ee565b8254908115611c73575f516020612bc05f395f51905f52946040946004935f190190611c56611c4183836112ee565b81549060018060a01b039060031b1b19169055565b555f52016020525f60028382208281558260018201550155611b4a565b634e487b7160e01b5f52603160045260245ffd5b505090505f516020612bc05f395f51905f5292935060409150611b4a565b505f611b18565b8563162930e360e11b5f5260045260245260445ffd5b50505f90565b92919091611cd78284866126ba565b1561155d57611ce4611fda565b1061155657611cf283611f60565b50611d0361149e6005611a51611566565b50611d0c611566565b600481019060018060a01b0385165f528160205260405f2091611d31600583016112c8565b905460039190911b1c6001600160a01b03165f9081526020919091526040902080548354611d6591600191611ab9916112bb565b80611d7086886112bb565b11611d7b86886112bb565b90611f4b57506006611dad938693611d9a856115248b611da89761127c565b90550193845490549061127c565b6112bb565b9055611db7611566565b6001600160a01b0384165f9081526004820160205260409020908315801590611f42575b15611e47579180600183604095885f516020612bc05f395f51905f52989996541580611e3c575b611e29575b505087815501555b825194855260208501526001600160a01b031692a2600190565b6005611e359201611303565b5f85611e07565b508383015415611e02565b505091611e52611566565b926001600160a01b03821691600585019160015b835480821015611f235785611e7b83876112ee565b905460039190911b1c6001600160a01b031614611e9b5750600101611e66565b905f9792939495969719820191821161128957611326611ebe611ed793886112ee565b905460039190911b1c6001600160a01b031691876112ee565b8354908115611c73575f516020612bc05f395f51905f52956040956004935f190190611f06611c4183836112ee565b555f52016020525f60028482208281558260018201550155611e0f565b50509091505f516020612bc05f395f51905f5293945060409250611e0f565b50821515611ddb565b63162930e360e11b5f5260045260245260445ffd5b6001600160a01b03168015611fbd576004611f79611566565b01815f52602052600260405f20018054431115611fd357439055803b15610219575f8091600460405180948193631efc6b4160e11b83525af180156118ec57611fc3575b50600190565b5f611fcd9161123c565b5f611fbd565b5050600190565b611fe2611566565b611fea61236c565b60ff5f516020612b605f395f51905f52541661201d5760030154156120155761201243611645565b90565b612012612806565b6001015490565b61202c611566565b90600582019061203b826112c8565b90546001600160a01b038381169660039390931b9190911c16939085851461218f57835460015b818110612152575050612073611fda565b106121495760046120ac9161208786611f60565b5061209184611f60565b500191855f5282602052611326600260405f200154946112c8565b6001600160a01b0383165f9081526020829052604080822086835291209080820361212b575b505060018060a01b0383165f52806020525f6002604082208281558260018201550155835f52602052600260405f2001557ef06471e88e0bc1db6b6126efdb09f80b597e6ddc145ff0dcabd12afab4ec575f80a3600190565b60028181925484556001810154600185015501549101555f806120d2565b50505050505f90565b8761215d82886112ee565b905460039190911b1c6001600160a01b03161461217c57600101612062565b8763f158185d60e01b5f5260045260245ffd5b505050505050600190565b6001600160a01b0381165f9081525f516020612ae05f395f51905f52602052604090205460ff1661222d576001600160a01b03165f8181525f516020612ae05f395f51905f5260205260408120805460ff191660011790553391905f516020612b205f395f51905f52907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b505f90565b5f8181525f516020612b405f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff16611cc2575f8181525f516020612b405f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b5f8181525f516020612b405f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff1615611cc2575f8181525f516020612b405f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b612374611566565b6002810190815443811461254e5761238c814361127c565b9260018201809211611289576003830180549060ff5f516020612b605f395f51905f5254168015612545575b6124ea575b50504390556006820154806123d3575b50505050565b60ff600784015416600381101561116d576002810361249657505060058201805493600490930192905f5b858110612415575050505050505b5f8080806123cd565b80612422600192846112ee565b838060a01b0391549060031b1c16828060a01b0381165f5286602052858360405f2001548681612457575b50505050016123fe565b61246091611632565b916040519283527fa34db09d4126dd8dcd1d29f3df65c01dcac405127546e380add77fedca459ba760204394a45f85818661244d565b9193909250906001146124ac575b50505061240c565b6124b591611632565b906040519182527fcef44ce1a1fc7ca1f3078daf79d3b60646d0e751bc72a69bff12f66c4aef3b8d60204393a35f80806124a4565b6125016124fb876006880154611632565b836112bb565b809155808203156123bd576040519182526020820152827f0539ce444a515b8aa8769802297761fbec80b5b543c617714bf5e0611cf669db60404393a35f806123bd565b508115156123b8565b505050565b91909161255e611566565b9280158080156126b2575b6126ab57600185015492600184018094116112895760048601969560050160015b81548110156126a05761259d81836112ee565b905460039190911b1c6001600160a01b03165f81815260208b905260409020549091908590806125d4575b5050600191500161258a565b6125de9086611632565b9061268c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169290879004833b15610219576040516340c10f1960e01b81526001600160a01b038316600482015260248101829052935f908590604490829084905af19182156118ec575f516020612b005f395f51905f5260208b936001978e9661267c575b50604051908152a4845f6125c8565b5f6126869161123c565b5f61266d565b634e487b7160e01b5f52601260045260245ffd5b505050505050509050565b5050505050565b508215612569565b6001600160a01b0316919082156127f7576126d3611566565b600581016126fd6126e3826112c8565b905460039190911b1c6001600160a01b03168614916112c8565b905460039190911b1c6001600160a01b0316906127e55750600490845f520160205260405f20828282541491826127d7575b50506115565715908115916127cd575b5061274a5750600190565b6040516301ffc9a760e01b815263aee4dc4360e01b6004820152602081602481855afa9081156118ec575f91612792575b50611fbd5763a5fe861560e01b5f5260045260245ffd5b90506020813d6020116127c5575b816127ad6020938361123c565b8101031261021957518015158103610219575f61277b565b3d91506127a0565b905015155f61273f565b60010154149050825f61272f565b63fda6c18760e01b5f5260045260245ffd5b6322a4ec7b60e11b5f5260045ffd5b61280e611566565b906001820191825490612821824361127c565b9081156129595760018301809311611289575f94936004600583019201955b825481101561294c5761285381846112ee565b905460039190911b1c6001600160a01b03169081156129435760018060a01b0382165f52876020528460405f205480612894575b5050600191505b01612840565b9061289e91611632565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692833b15610219576040516340c10f1960e01b81526001600160a01b038216600482015260248101839052935f908590604490829084905af19081156118ec576001948992612933575b506040519283525f516020612b005f395f51905f5260204394a4845f612887565b5f61293d9161123c565b5f612912565b6001915061288e565b5094505050504390554390565b5090925050565b6001810190825f528160205260405f2054155f14611556578054600160401b81101561064b576129b061299a8260018794018555846112ee565b819391549060031b91821b915f19901b19161790565b905554915f5260205260405f2055600190565b906001820191815f528260205260405f20548015155f14612a6c575f1981018181116112895782545f1981019190821161128957818103612a37575b50505080548015611c73575f190190612a1882826112ee565b8154905f199060031b1b19169055555f526020525f6040812055600190565b612a57612a4761299a93866112ee565b90549060031b1c928392866112ee565b90555f528360205260405f20555f80806129ff565b505050505f90565b60ff5f516020612be05f395f51905f525460401c1615612a9057565b631afcd79f60e31b5f5260045ffdfebd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ffc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e8237170593200075e09417c5070057df3eafe5054d52fa0b2a87d64a235e197963b615aedee8030c56d855d8df534c916b78eac3522e5fafd59f48799c4a97d42e80f6e08989607935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5502dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300139c2898040ef16910dc9f44dc697df79363da767d8bc92f2e310312b816e46d9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f001bd3f0d2f1001a856d81215ceb86c548bdbc3bf52480a08978f8c3ea6e2bd421f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212201c8c01bf4f8279df7af8f2e90eea4858f9d7498c6312cc7cc9542590ff22a1fb64736f6c63430008210033"; readonly linkReferences: {}; readonly deployedLinkReferences: {}; readonly immutableReferences: {"14015":[{"length":32,"start":6214},{"length":32,"start":6465},{"length":32,"start":9701},{"length":32,"start":10400}]}; readonly inputSourceName: "project/contracts/allocate/IssuanceAllocator.sol"; readonly buildInfoId: "solc-0_8_33-4b238b4fe0cedd7be5f2b0aa5999a5f7433e9c71"; }; import "hardhat/types/artifacts"; declare module "hardhat/types/artifacts" { interface ArtifactMap { ["IssuanceAllocator"]: IssuanceAllocator$Type; ["contracts/allocate/IssuanceAllocator.sol:IssuanceAllocator"]: IssuanceAllocator$Type; } }