@gooddollar/goodcollective-contracts 1.3.1 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/contracts/DirectPayments/DirectPaymentsFactory.sol/DirectPaymentsFactory.dbg.json +4 -0
- package/artifacts/contracts/DirectPayments/DirectPaymentsFactory.sol/DirectPaymentsFactory.json +995 -0
- package/artifacts/contracts/DirectPayments/DirectPaymentsLibrary.sol/DirectPaymentsLibrary.dbg.json +4 -0
- package/artifacts/contracts/DirectPayments/DirectPaymentsLibrary.sol/DirectPaymentsLibrary.json +113 -0
- package/artifacts/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool.dbg.json +4 -0
- package/artifacts/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool.json +2210 -0
- package/artifacts/contracts/DirectPayments/DirectPaymentsPool.sol/IIdentityV2.dbg.json +4 -0
- package/artifacts/contracts/DirectPayments/DirectPaymentsPool.sol/IIdentityV2.json +30 -0
- package/artifacts/contracts/DirectPayments/DirectPaymentsPool.sol/IMembersValidator.dbg.json +4 -0
- package/artifacts/contracts/DirectPayments/DirectPaymentsPool.sol/IMembersValidator.json +45 -0
- package/artifacts/contracts/DirectPayments/ProvableNFT.sol/ProvableNFT.dbg.json +4 -0
- package/artifacts/contracts/DirectPayments/ProvableNFT.sol/ProvableNFT.json +1187 -0
- package/artifacts/contracts/GoodCollective/GoodCollectiveSuperApp.sol/GoodCollectiveSuperApp.dbg.json +4 -0
- package/artifacts/contracts/GoodCollective/GoodCollectiveSuperApp.sol/GoodCollectiveSuperApp.json +831 -0
- package/artifacts/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp.dbg.json +4 -0
- package/artifacts/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp.json +42 -0
- package/artifacts/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IRegistry.dbg.json +4 -0
- package/artifacts/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IRegistry.json +61 -0
- package/artifacts/contracts/GoodCollective/SuperAppBaseFlow.sol/IRegisterSuperapp.dbg.json +4 -0
- package/artifacts/contracts/GoodCollective/SuperAppBaseFlow.sol/IRegisterSuperapp.json +47 -0
- package/artifacts/contracts/GoodCollective/SuperAppBaseFlow.sol/SuperAppBaseFlow.dbg.json +4 -0
- package/artifacts/contracts/GoodCollective/SuperAppBaseFlow.sol/SuperAppBaseFlow.json +320 -0
- package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +4 -0
- package/artifacts/contracts/Interfaces.sol/IIdentityV2.json +30 -0
- package/artifacts/contracts/Interfaces.sol/IMembersValidator.dbg.json +4 -0
- package/artifacts/contracts/Interfaces.sol/IMembersValidator.json +45 -0
- package/artifacts/contracts/UBI/UBIPool.sol/UBIPool.dbg.json +4 -0
- package/artifacts/contracts/UBI/UBIPool.sol/UBIPool.json +2078 -0
- package/artifacts/contracts/UBI/UBIPoolFactory.sol/UBIPoolFactory.dbg.json +4 -0
- package/artifacts/contracts/UBI/UBIPoolFactory.sol/UBIPoolFactory.json +1011 -0
- package/artifacts/contracts/test/HelperLibraryTest.sol/HelperLibraryTest.dbg.json +4 -0
- package/artifacts/contracts/test/HelperLibraryTest.sol/HelperLibraryTest.json +90 -0
- package/artifacts/contracts/utils/HelperLibrary.sol/HelperLibrary.dbg.json +4 -0
- package/artifacts/contracts/utils/HelperLibrary.sol/HelperLibrary.json +117 -0
- package/artifacts/contracts/utils/Recover.sol/Recover.dbg.json +4 -0
- package/artifacts/contracts/utils/Recover.sol/Recover.json +120 -0
- package/artifacts/contracts/utils/SwapRouterMock.sol/SwapRouterMock.dbg.json +4 -0
- package/artifacts/contracts/utils/SwapRouterMock.sol/SwapRouterMock.json +119 -0
- package/contracts/DirectPayments/DirectPaymentsFactory.sol +13 -1
- package/contracts/DirectPayments/DirectPaymentsPool.sol +22 -0
- package/contracts/UBI/UBIPool.sol +62 -18
- package/contracts/UBI/UBIPoolFactory.sol +13 -1
- package/contracts/utils/Recover.sol +16 -0
- package/package.json +3 -5
- package/releases/deployment.json +308 -134
- package/typechain-types/contracts/DirectPayments/DirectPaymentsFactory.ts +54 -0
- package/typechain-types/contracts/DirectPayments/DirectPaymentsLibrary.sol/DirectPayemntsLibrary.ts +77 -0
- package/typechain-types/contracts/DirectPayments/DirectPaymentsLibrary.sol/DirectPaymentsLibrary.ts +77 -0
- package/typechain-types/contracts/DirectPayments/DirectPaymentsLibrary.sol/index.ts +5 -0
- package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool.ts +37 -0
- package/typechain-types/contracts/UBI/MultiClaimModule.sol/IClaimable.ts +92 -0
- package/typechain-types/contracts/UBI/MultiClaimModule.sol/IModule.ts +196 -0
- package/typechain-types/contracts/UBI/MultiClaimModule.sol/MultiClaimModule.ts +242 -0
- package/typechain-types/contracts/UBI/MultiClaimModule.sol/index.ts +6 -0
- package/typechain-types/contracts/UBI/UBIPool.ts +37 -0
- package/typechain-types/contracts/UBI/UBIPoolFactory.ts +54 -0
- package/typechain-types/contracts/utils/Recover.ts +263 -0
- package/typechain-types/contracts/utils/index.ts +1 -0
- package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory__factory.ts +33 -1
- package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsLibrary.sol/DirectPayemntsLibrary__factory.ts +96 -0
- package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsLibrary.sol/DirectPaymentsLibrary__factory.ts +96 -0
- package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsLibrary.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsLibrary__factory.ts +1 -1
- package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool__factory.ts +24 -1
- package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/IClaimable__factory.ts +33 -0
- package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/IModule__factory.ts +84 -0
- package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/MultiClaimModule__factory.ts +150 -0
- package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/index.ts +6 -0
- package/typechain-types/factories/contracts/UBI/UBIPoolFactory__factory.ts +33 -1
- package/typechain-types/factories/contracts/UBI/UBIPool__factory.ts +24 -1
- package/typechain-types/factories/contracts/utils/Recover__factory.ts +172 -0
- package/typechain-types/factories/contracts/utils/index.ts +1 -0
- package/typechain-types/hardhat.d.ts +9 -0
- package/typechain-types/index.ts +2 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
|
|
5
|
+
import type { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
6
|
+
import type { PromiseOrValue } from "../../../../common";
|
|
7
|
+
import type {
|
|
8
|
+
DirectPaymentsLibrary,
|
|
9
|
+
DirectPaymentsLibraryInterface,
|
|
10
|
+
} from "../../../../contracts/DirectPayments/DirectPaymentsLibrary.sol/DirectPaymentsLibrary";
|
|
11
|
+
|
|
12
|
+
const _abi = [
|
|
13
|
+
{
|
|
14
|
+
inputs: [],
|
|
15
|
+
name: "OVER_GLOBAL_LIMITS",
|
|
16
|
+
type: "error",
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
inputs: [
|
|
20
|
+
{
|
|
21
|
+
internalType: "address",
|
|
22
|
+
name: "",
|
|
23
|
+
type: "address",
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
name: "OVER_MEMBER_LIMITS",
|
|
27
|
+
type: "error",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
anonymous: false,
|
|
31
|
+
inputs: [
|
|
32
|
+
{
|
|
33
|
+
indexed: false,
|
|
34
|
+
internalType: "address",
|
|
35
|
+
name: "contributer",
|
|
36
|
+
type: "address",
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
name: "NOT_MEMBER_OR_WHITELISTED",
|
|
40
|
+
type: "event",
|
|
41
|
+
},
|
|
42
|
+
] as const;
|
|
43
|
+
|
|
44
|
+
const _bytecode =
|
|
45
|
+
"0x610efa61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806327fdccf11461005b578063ba3587511461007d578063bfd8847e1461009d578063d8e7cd72146100d1575b600080fd5b81801561006757600080fd5b5061007b6100763660046109a9565b6100f1565b005b81801561008957600080fd5b5061007b6100983660046109e6565b6102ea565b8180156100a957600080fd5b506100bd6100b8366004610a35565b6104ad565b604051901515815260200160405180910390f35b8180156100dd57600080fd5b5061007b6100ec366004610c17565b61051e565b6001830154429061011590600160801b90046001600160401b031662015180610d81565b6001600160401b031610156101425782546001600160801b0319166001600160801b038216178355610184565b82548190849060009061015f9084906001600160801b0316610da8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b61018c61067f565b60018401546001600160401b03918216600160c01b90910490911610156101ca5782546001600160801b03808316600160801b029116178355610213565b8254819084906010906101ee908490600160801b90046001600160801b0316610da8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6001830180548291906000906102339084906001600160801b0316610da8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550428360010160106101000a8154816001600160401b0302191690836001600160401b0316021790555061028861067f565b6001840180546001600160401b0392909216600160c01b026001600160c01b03909216919091179055815183546001600160801b03600160801b9091041611156102e557604051639803f99760e01b815260040160405180910390fd5b505050565b6001820154429061030e90600160801b90046001600160401b031662015180610d81565b6001600160401b0316101561033b5781546001600160801b0319166001600160801b03821617825561037d565b8154819083906000906103589084906001600160801b0316610da8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b61038561067f565b60018301546001600160401b03918216600160c01b90910490911610156103c35781546001600160801b03808316600160801b02911617825561040c565b8154819083906010906103e7908490600160801b90046001600160801b0316610da8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b60018201805482919060009061042c9084906001600160801b0316610da8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550428260010160106101000a8154816001600160401b0302191690836001600160401b0316021790555061048161067f565b8260010160186101000a8154816001600160401b0302191690836001600160401b031602179055505050565b60006104b985836102ea565b604084015185546001600160801b031611806104e9575060208401518554600160801b90046001600160801b0316115b156105125782604051636e661e3360e11b81526004016105099190610dc8565b60405180910390fd5b5060015b949350505050565b60008251826001600160801b03166105369190610ddc565b90506000805b84518110156106695760006105a888600088858151811061055f5761055f610dfe565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208a88858151811061059a5761059a610dfe565b6020026020010151876104ad565b90508015610605576105f48683815181106105c5576105c5610dfe565b6020026020010151856001600160801b03168960c001516001600160a01b03166106939092919063ffffffff16565b6105fe8484610da8565b9250610656565b7f617c38e0fa04973365b7abb47a8f354a5b3fbe3ea04b8a0649580d208a88cc6086838151811061063857610638610dfe565b602002602001015160405161064d9190610dc8565b60405180910390a15b508061066181610e14565b91505061053c565b506106758888836100f1565b5050505050505050565b600061068e62278d0042610ddc565b905090565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526102e5928692916000916107239185169084906107a0565b8051909150156102e557808060200190518101906107419190610e2d565b6102e55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610509565b6060610516848460008585600080866001600160a01b031685876040516107c79190610e75565b60006040518083038185875af1925050503d8060008114610804576040519150601f19603f3d011682016040523d82523d6000602084013e610809565b606091505b509150915061081a87838387610825565b979650505050505050565b6060831561089457825160000361088d576001600160a01b0385163b61088d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610509565b5081610516565b61051683838151156108a95781518083602001fd5b8060405162461bcd60e51b81526004016105099190610e91565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b03811182821017156108fc576108fc6108c3565b60405290565b604051601f8201601f191681016001600160401b038111828210171561092a5761092a6108c3565b604052919050565b60006060828403121561094457600080fd5b604051606081016001600160401b0381118282101715610966576109666108c3565b80604052508091508235815260208301356020820152604083013560408201525092915050565b80356001600160801b03811681146109a457600080fd5b919050565b600080600060a084860312156109be57600080fd5b833592506109cf8560208601610932565b91506109dd6080850161098d565b90509250925092565b600080604083850312156109f957600080fd5b82359150610a096020840161098d565b90509250929050565b6001600160a01b0381168114610a2757600080fd5b50565b80356109a481610a12565b60008060008060c08587031215610a4b57600080fd5b84359350610a5c8660208701610932565b92506080850135610a6c81610a12565b9150610a7a60a0860161098d565b905092959194509250565b803563ffffffff811681146109a457600080fd5b60006001600160401b03821115610ab257610ab26108c3565b5060051b60200190565b600082601f830112610acd57600080fd5b81356020610ae2610add83610a99565b610902565b82815260059290921b84018101918181019086841115610b0157600080fd5b8286015b84811015610b2d57803561ffff81168114610b205760008081fd5b8352918301918301610b05565b509695505050505050565b600082601f830112610b4957600080fd5b81356020610b59610add83610a99565b82815260059290921b84018101918181019086841115610b7857600080fd5b8286015b84811015610b2d57610b8d8161098d565b8352918301918301610b7c565b8015158114610a2757600080fd5b80356109a481610b9a565b600082601f830112610bc457600080fd5b81356020610bd4610add83610a99565b82815260059290921b84018101918181019086841115610bf357600080fd5b8286015b84811015610b2d578035610c0a81610a12565b8352918301918301610bf7565b60008060008060008061010080888a031215610c3257600080fd5b87359650610c438960208a01610932565b95506080880135945060a08801356001600160401b0380821115610c6657600080fd5b818a01915082828c031215610c7a57600080fd5b610c826108d9565b9250610c8d82610a85565b8352602082013581811115610ca157600080fd5b610cad8c828501610abc565b602085015250604082013581811115610cc557600080fd5b610cd18c828501610b38565b604085015250610ce360608301610a2a565b6060840152610cf460808301610a2a565b6080840152610d0560a08301610a2a565b60a0840152610d1660c08301610a2a565b60c0840152610d2760e08301610ba8565b60e084015291945060c08901359180831115610d4257600080fd5b5050610d5089828a01610bb3565b925050610d5f60e0880161098d565b90509295509295509295565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03818116838216019080821115610da157610da1610d6b565b5092915050565b6001600160801b03818116838216019080821115610da157610da1610d6b565b6001600160a01b0391909116815260200190565b600082610df957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201610e2657610e26610d6b565b5060010190565b600060208284031215610e3f57600080fd5b8151610e4a81610b9a565b9392505050565b60005b83811015610e6c578181015183820152602001610e54565b50506000910152565b60008251610e87818460208701610e51565b9190910192915050565b6020815260008251806020840152610eb0816040850160208701610e51565b601f01601f1916919091016040019291505056fea2646970667358221220e9820bc2f66dac0a9b0507a741f4334031d5b29fbb4a82c400bb44007b63cf5664736f6c63430008130033";
|
|
46
|
+
|
|
47
|
+
type DirectPaymentsLibraryConstructorParams =
|
|
48
|
+
| [signer?: Signer]
|
|
49
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
50
|
+
|
|
51
|
+
const isSuperArgs = (
|
|
52
|
+
xs: DirectPaymentsLibraryConstructorParams
|
|
53
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
54
|
+
|
|
55
|
+
export class DirectPaymentsLibrary__factory extends ContractFactory {
|
|
56
|
+
constructor(...args: DirectPaymentsLibraryConstructorParams) {
|
|
57
|
+
if (isSuperArgs(args)) {
|
|
58
|
+
super(...args);
|
|
59
|
+
} else {
|
|
60
|
+
super(_abi, _bytecode, args[0]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
override deploy(
|
|
65
|
+
overrides?: Overrides & { from?: PromiseOrValue<string> }
|
|
66
|
+
): Promise<DirectPaymentsLibrary> {
|
|
67
|
+
return super.deploy(overrides || {}) as Promise<DirectPaymentsLibrary>;
|
|
68
|
+
}
|
|
69
|
+
override getDeployTransaction(
|
|
70
|
+
overrides?: Overrides & { from?: PromiseOrValue<string> }
|
|
71
|
+
): TransactionRequest {
|
|
72
|
+
return super.getDeployTransaction(overrides || {});
|
|
73
|
+
}
|
|
74
|
+
override attach(address: string): DirectPaymentsLibrary {
|
|
75
|
+
return super.attach(address) as DirectPaymentsLibrary;
|
|
76
|
+
}
|
|
77
|
+
override connect(signer: Signer): DirectPaymentsLibrary__factory {
|
|
78
|
+
return super.connect(signer) as DirectPaymentsLibrary__factory;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
static readonly bytecode = _bytecode;
|
|
82
|
+
static readonly abi = _abi;
|
|
83
|
+
static createInterface(): DirectPaymentsLibraryInterface {
|
|
84
|
+
return new utils.Interface(_abi) as DirectPaymentsLibraryInterface;
|
|
85
|
+
}
|
|
86
|
+
static connect(
|
|
87
|
+
address: string,
|
|
88
|
+
signerOrProvider: Signer | Provider
|
|
89
|
+
): DirectPaymentsLibrary {
|
|
90
|
+
return new Contract(
|
|
91
|
+
address,
|
|
92
|
+
_abi,
|
|
93
|
+
signerOrProvider
|
|
94
|
+
) as DirectPaymentsLibrary;
|
|
95
|
+
}
|
|
96
|
+
}
|
package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsLibrary__factory.ts
CHANGED
|
@@ -115,7 +115,7 @@ const _abi = [
|
|
|
115
115
|
] as const;
|
|
116
116
|
|
|
117
117
|
const _bytecode =
|
|
118
|
-
"0x6117cd61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c806327fdccf114610066578063ba35875114610088578063bfd8847e146100a8578063cb22f4ff146100dc578063d8e7cd72146100fc575b600080fd5b81801561007257600080fd5b50610086610081366004610ea2565b61011c565b005b81801561009457600080fd5b506100866100a3366004610edf565b610315565b8180156100b457600080fd5b506100c86100c3366004610f2e565b6104d8565b604051901515815260200160405180910390f35b8180156100e857600080fd5b506100866100f736600461125c565b61061e565b81801561010857600080fd5b506100866101173660046114bd565b61094d565b6001830154429061014090600160801b90046001600160401b03166201518061156b565b6001600160401b0316101561016d5782546001600160801b0319166001600160801b0382161783556101af565b82548190849060009061018a9084906001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6101b7610aae565b60018401546001600160401b03918216600160c01b90910490911610156101f55782546001600160801b03808316600160801b02911617835561023e565b825481908490601090610219908490600160801b90046001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b60018301805482919060009061025e9084906001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550428360010160106101000a8154816001600160401b0302191690836001600160401b031602179055506102b3610aae565b6001840180546001600160401b0392909216600160c01b026001600160c01b03909216919091179055815183546001600160801b03600160801b90910416111561031057604051639803f99760e01b815260040160405180910390fd5b505050565b6001820154429061033990600160801b90046001600160401b03166201518061156b565b6001600160401b031610156103665781546001600160801b0319166001600160801b0382161782556103a8565b8154819083906000906103839084906001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6103b0610aae565b60018301546001600160401b03918216600160c01b90910490911610156103ee5781546001600160801b03808316600160801b029116178255610437565b815481908390601090610412908490600160801b90046001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6001820180548291906000906104579084906001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550428260010160106101000a8154816001600160401b0302191690836001600160401b031602179055506104ac610aae565b8260010160186101000a8154816001600160401b0302191690836001600160401b031602179055505050565b6000306001600160a01b03166391d14854306001600160a01b031663a10f469e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b91906115b2565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b0386166024820152604401602060405180830381865afa158015610596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ba91906115cb565b15156000036105cb57506000610616565b6105d58583610315565b604084015185546001600160801b03161180610605575060208401518554600160801b90046001600160801b0316115b1561061257506000610616565b5060015b949350505050565b6000808460c001516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065191906115ef565b602060405180830381865afa15801561066e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069291906115b2565b60e086015190915060005b846060015151811015610907576000856060015182815181106106c2576106c2611603565b60200260200101516040015183801561070557506000876060015184815181106106ee576106ee611603565b602002602001015160a001516001600160801b0316115b61073957610734898860600151858151811061072357610723611603565b602002602001015160000151610ac2565b61075c565b8660600151838151811061074f5761074f611603565b602002602001015160a001515b6001600160801b031661076f9190611619565b905080156108f4576107818186611630565b9450838511156107a45760405163701b93d160e11b815260040160405180910390fd5b6107ae8585611643565b93506107df8b8b8b8b8a6060015187815181106107cd576107cd611603565b6020026020010151608001518661094d565b867f66417923523a2d06a43299cb4e498d17eef686f73ae2484f05c36479f5ae5a6d8760600151848151811061081757610817611603565b6020026020010151600001518860600151858151811061083957610839611603565b6020026020010151602001518960600151868151811061085b5761085b611603565b6020026020010151604001518a60600151878151811061087d5761087d611603565b6020026020010151606001518b60600151888151811061089f5761089f611603565b6020026020010151608001518c6060015189815181106108c1576108c1611603565b60200260200101516080015151886108d99190611656565b6040516108eb969594939291906116c8565b60405180910390a25b50806108ff8161174f565b91505061069d565b50847fdc780326abc7aa2bf7cfbd02de3cdd5c8020124228dbcbc133d6bcbd74a784cc8460405161093a91815260200190565b60405180910390a2505050505050505050565b60008251826001600160801b03166109659190611656565b90506000805b8451811015610a985760006109d788600088858151811061098e5761098e611603565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208a8885815181106109c9576109c9611603565b6020026020010151876104d8565b90508015610a3457610a238683815181106109f4576109f4611603565b6020026020010151856001600160801b03168960c001516001600160a01b0316610b439092919063ffffffff16565b610a2d8484611592565b9250610a85565b7ffd1e0ab28ffb8b7b3c8d7d35f6f35733d9c03c0f575a37403c6ec464517e9c3f868381518110610a6757610a67611603565b6020026020010151604051610a7c91906115ef565b60405180910390a15b5080610a908161174f565b91505061096b565b50610aa488888361011c565b5050505050505050565b6000610abd62278d0042611656565b905090565b6000805b836020015151811015610b375783602001518181518110610ae957610ae9611603565b602002602001015161ffff168361ffff1603610b255783604001518181518110610b1557610b15611603565b6020026020010151915050610b3d565b80610b2f8161174f565b915050610ac6565b50600090505b92915050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261031092869291600091610bd3918516908490610c55565b8051909150156103105780806020019051810190610bf191906115cb565b6103105760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b6060610616848460008585600080866001600160a01b03168587604051610c7c9190611768565b60006040518083038185875af1925050503d8060008114610cb9576040519150601f19603f3d011682016040523d82523d6000602084013e610cbe565b606091505b5091509150610ccf87838387610cda565b979650505050505050565b60608315610d49578251600003610d42576001600160a01b0385163b610d425760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c4c565b5081610616565b6106168383815115610d5e5781518083602001fd5b8060405162461bcd60e51b8152600401610c4c9190611784565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b0381118282101715610db157610db1610d78565b60405290565b604051608081016001600160401b0381118282101715610db157610db1610d78565b60405160c081016001600160401b0381118282101715610db157610db1610d78565b604051601f8201601f191681016001600160401b0381118282101715610e2357610e23610d78565b604052919050565b600060608284031215610e3d57600080fd5b604051606081016001600160401b0381118282101715610e5f57610e5f610d78565b80604052508091508235815260208301356020820152604083013560408201525092915050565b80356001600160801b0381168114610e9d57600080fd5b919050565b600080600060a08486031215610eb757600080fd5b83359250610ec88560208601610e2b565b9150610ed660808501610e86565b90509250925092565b60008060408385031215610ef257600080fd5b82359150610f0260208401610e86565b90509250929050565b6001600160a01b0381168114610f2057600080fd5b50565b8035610e9d81610f0b565b60008060008060c08587031215610f4457600080fd5b84359350610f558660208701610e2b565b92506080850135610f6581610f0b565b9150610f7360a08601610e86565b905092959194509250565b803563ffffffff81168114610e9d57600080fd5b60006001600160401b03821115610fab57610fab610d78565b5060051b60200190565b803561ffff81168114610e9d57600080fd5b600082601f830112610fd857600080fd5b81356020610fed610fe883610f92565b610dfb565b82815260059290921b8401810191818101908684111561100c57600080fd5b8286015b8481101561102e5761102181610fb5565b8352918301918301611010565b509695505050505050565b600082601f83011261104a57600080fd5b8135602061105a610fe883610f92565b82815260059290921b8401810191818101908684111561107957600080fd5b8286015b8481101561102e5761108e81610e86565b835291830191830161107d565b8015158114610f2057600080fd5b8035610e9d8161109b565b600061010082840312156110c757600080fd5b6110cf610d8e565b90506110da82610f7e565b815260208201356001600160401b03808211156110f657600080fd5b61110285838601610fc7565b6020840152604084013591508082111561111b57600080fd5b5061112884828501611039565b60408301525061113a60608301610f23565b606082015261114b60808301610f23565b608082015261115c60a08301610f23565b60a082015261116d60c08301610f23565b60c082015261117e60e083016110a9565b60e082015292915050565b600082601f83011261119a57600080fd5b81356001600160401b038111156111b3576111b3610d78565b6111c6601f8201601f1916602001610dfb565b8181528460208386010111156111db57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261120957600080fd5b81356020611219610fe883610f92565b82815260059290921b8401810191818101908684111561123857600080fd5b8286015b8481101561102e57803561124f81610f0b565b835291830191830161123c565b600080600080600080610100878903121561127657600080fd5b863595506112878860208901610e2b565b9450608087013593506001600160401b0360a088013511156112a857600080fd5b6112b88860a089013589016110b4565b925060c087013591506001600160401b0360e088013511156112d957600080fd5b60e087013587016080818a0312156112f057600080fd5b6112f8610db7565b61130182610f7e565b815261130f60208301610fb5565b60208201526001600160401b036040830135111561132c57600080fd5b61133c8a60408401358401611189565b60408201526001600160401b036060830135111561135957600080fd5b60608201358201915089601f83011261137157600080fd5b61137e610fe88335610f92565b82358082526020808301929160051b8501018c101561139c57600080fd5b602084015b6020853560051b8601018110156114a5576001600160401b03813511156113c757600080fd5b60c0813586018e03601f190112156113de57600080fd5b6113e6610dd9565b6113f560208335880101610fb5565b815261140660408335880101610f7e565b602082015281358601606081013560408301526001600160401b03608090910135111561143257600080fd5b6114488e83358801608081013501602001611189565b60608201526001600160401b038235870160a00135111561146857600080fd5b61147e8e8335880160a0810135016020016111f8565b608082015261149260c08335880101610e86565b60a08201528352602092830192016113a1565b50806060840152505080925050509295509295509295565b60008060008060008061010087890312156114d757600080fd5b863595506114e88860208901610e2b565b94506080870135935060a08701356001600160401b038082111561150b57600080fd5b6115178a838b016110b4565b945060c089013591508082111561152d57600080fd5b5061153a89828a016111f8565b92505061154960e08801610e86565b90509295509295509295565b634e487b7160e01b600052601160045260246000fd5b6001600160401b0381811683821601908082111561158b5761158b611555565b5092915050565b6001600160801b0381811683821601908082111561158b5761158b611555565b6000602082840312156115c457600080fd5b5051919050565b6000602082840312156115dd57600080fd5b81516115e88161109b565b9392505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610b3d57610b3d611555565b80820180821115610b3d57610b3d611555565b81810381811115610b3d57610b3d611555565b60008261167357634e487b7160e01b600052601260045260246000fd5b500490565b60005b8381101561169357818101518382015260200161167b565b50506000910152565b600081518084526116b4816020860160208601611678565b601f01601f19169290920160200192915050565b61ffff871681526000602063ffffffff88168184015286604084015260c060608401526116f860c084018761169c565b838103608085015285518082528287019183019060005b818110156117345783516001600160a01b03168352928401929184019160010161170f565b50506001600160801b03861660a08601529250610ccf915050565b60006001820161176157611761611555565b5060010190565b6000825161177a818460208701611678565b9190910192915050565b6020815260006115e8602083018461169c56fea2646970667358221220247df503fb16d082ab32e4c9c3987b9c88234dd9112ffed819c672695d46610d64736f6c63430008130033";
|
|
118
|
+
"0x6117cd61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c806327fdccf114610066578063ba35875114610088578063bfd8847e146100a8578063cb22f4ff146100dc578063d8e7cd72146100fc575b600080fd5b81801561007257600080fd5b50610086610081366004610ea2565b61011c565b005b81801561009457600080fd5b506100866100a3366004610edf565b610315565b8180156100b457600080fd5b506100c86100c3366004610f2e565b6104d8565b604051901515815260200160405180910390f35b8180156100e857600080fd5b506100866100f736600461125c565b61061e565b81801561010857600080fd5b506100866101173660046114bd565b61094d565b6001830154429061014090600160801b90046001600160401b03166201518061156b565b6001600160401b0316101561016d5782546001600160801b0319166001600160801b0382161783556101af565b82548190849060009061018a9084906001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6101b7610aae565b60018401546001600160401b03918216600160c01b90910490911610156101f55782546001600160801b03808316600160801b02911617835561023e565b825481908490601090610219908490600160801b90046001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b60018301805482919060009061025e9084906001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550428360010160106101000a8154816001600160401b0302191690836001600160401b031602179055506102b3610aae565b6001840180546001600160401b0392909216600160c01b026001600160c01b03909216919091179055815183546001600160801b03600160801b90910416111561031057604051639803f99760e01b815260040160405180910390fd5b505050565b6001820154429061033990600160801b90046001600160401b03166201518061156b565b6001600160401b031610156103665781546001600160801b0319166001600160801b0382161782556103a8565b8154819083906000906103839084906001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6103b0610aae565b60018301546001600160401b03918216600160c01b90910490911610156103ee5781546001600160801b03808316600160801b029116178255610437565b815481908390601090610412908490600160801b90046001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6001820180548291906000906104579084906001600160801b0316611592565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550428260010160106101000a8154816001600160401b0302191690836001600160401b031602179055506104ac610aae565b8260010160186101000a8154816001600160401b0302191690836001600160401b031602179055505050565b6000306001600160a01b03166391d14854306001600160a01b031663a10f469e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b91906115b2565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b0386166024820152604401602060405180830381865afa158015610596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ba91906115cb565b15156000036105cb57506000610616565b6105d58583610315565b604084015185546001600160801b03161180610605575060208401518554600160801b90046001600160801b0316115b1561061257506000610616565b5060015b949350505050565b6000808460c001516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065191906115ef565b602060405180830381865afa15801561066e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069291906115b2565b60e086015190915060005b846060015151811015610907576000856060015182815181106106c2576106c2611603565b60200260200101516040015183801561070557506000876060015184815181106106ee576106ee611603565b602002602001015160a001516001600160801b0316115b61073957610734898860600151858151811061072357610723611603565b602002602001015160000151610ac2565b61075c565b8660600151838151811061074f5761074f611603565b602002602001015160a001515b6001600160801b031661076f9190611619565b905080156108f4576107818186611630565b9450838511156107a45760405163701b93d160e11b815260040160405180910390fd5b6107ae8585611643565b93506107df8b8b8b8b8a6060015187815181106107cd576107cd611603565b6020026020010151608001518661094d565b867f66417923523a2d06a43299cb4e498d17eef686f73ae2484f05c36479f5ae5a6d8760600151848151811061081757610817611603565b6020026020010151600001518860600151858151811061083957610839611603565b6020026020010151602001518960600151868151811061085b5761085b611603565b6020026020010151604001518a60600151878151811061087d5761087d611603565b6020026020010151606001518b60600151888151811061089f5761089f611603565b6020026020010151608001518c6060015189815181106108c1576108c1611603565b60200260200101516080015151886108d99190611656565b6040516108eb969594939291906116c8565b60405180910390a25b50806108ff8161174f565b91505061069d565b50847fdc780326abc7aa2bf7cfbd02de3cdd5c8020124228dbcbc133d6bcbd74a784cc8460405161093a91815260200190565b60405180910390a2505050505050505050565b60008251826001600160801b03166109659190611656565b90506000805b8451811015610a985760006109d788600088858151811061098e5761098e611603565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208a8885815181106109c9576109c9611603565b6020026020010151876104d8565b90508015610a3457610a238683815181106109f4576109f4611603565b6020026020010151856001600160801b03168960c001516001600160a01b0316610b439092919063ffffffff16565b610a2d8484611592565b9250610a85565b7ffd1e0ab28ffb8b7b3c8d7d35f6f35733d9c03c0f575a37403c6ec464517e9c3f868381518110610a6757610a67611603565b6020026020010151604051610a7c91906115ef565b60405180910390a15b5080610a908161174f565b91505061096b565b50610aa488888361011c565b5050505050505050565b6000610abd62278d0042611656565b905090565b6000805b836020015151811015610b375783602001518181518110610ae957610ae9611603565b602002602001015161ffff168361ffff1603610b255783604001518181518110610b1557610b15611603565b6020026020010151915050610b3d565b80610b2f8161174f565b915050610ac6565b50600090505b92915050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261031092869291600091610bd3918516908490610c55565b8051909150156103105780806020019051810190610bf191906115cb565b6103105760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b6060610616848460008585600080866001600160a01b03168587604051610c7c9190611768565b60006040518083038185875af1925050503d8060008114610cb9576040519150601f19603f3d011682016040523d82523d6000602084013e610cbe565b606091505b5091509150610ccf87838387610cda565b979650505050505050565b60608315610d49578251600003610d42576001600160a01b0385163b610d425760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c4c565b5081610616565b6106168383815115610d5e5781518083602001fd5b8060405162461bcd60e51b8152600401610c4c9190611784565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b0381118282101715610db157610db1610d78565b60405290565b604051608081016001600160401b0381118282101715610db157610db1610d78565b60405160c081016001600160401b0381118282101715610db157610db1610d78565b604051601f8201601f191681016001600160401b0381118282101715610e2357610e23610d78565b604052919050565b600060608284031215610e3d57600080fd5b604051606081016001600160401b0381118282101715610e5f57610e5f610d78565b80604052508091508235815260208301356020820152604083013560408201525092915050565b80356001600160801b0381168114610e9d57600080fd5b919050565b600080600060a08486031215610eb757600080fd5b83359250610ec88560208601610e2b565b9150610ed660808501610e86565b90509250925092565b60008060408385031215610ef257600080fd5b82359150610f0260208401610e86565b90509250929050565b6001600160a01b0381168114610f2057600080fd5b50565b8035610e9d81610f0b565b60008060008060c08587031215610f4457600080fd5b84359350610f558660208701610e2b565b92506080850135610f6581610f0b565b9150610f7360a08601610e86565b905092959194509250565b803563ffffffff81168114610e9d57600080fd5b60006001600160401b03821115610fab57610fab610d78565b5060051b60200190565b803561ffff81168114610e9d57600080fd5b600082601f830112610fd857600080fd5b81356020610fed610fe883610f92565b610dfb565b82815260059290921b8401810191818101908684111561100c57600080fd5b8286015b8481101561102e5761102181610fb5565b8352918301918301611010565b509695505050505050565b600082601f83011261104a57600080fd5b8135602061105a610fe883610f92565b82815260059290921b8401810191818101908684111561107957600080fd5b8286015b8481101561102e5761108e81610e86565b835291830191830161107d565b8015158114610f2057600080fd5b8035610e9d8161109b565b600061010082840312156110c757600080fd5b6110cf610d8e565b90506110da82610f7e565b815260208201356001600160401b03808211156110f657600080fd5b61110285838601610fc7565b6020840152604084013591508082111561111b57600080fd5b5061112884828501611039565b60408301525061113a60608301610f23565b606082015261114b60808301610f23565b608082015261115c60a08301610f23565b60a082015261116d60c08301610f23565b60c082015261117e60e083016110a9565b60e082015292915050565b600082601f83011261119a57600080fd5b81356001600160401b038111156111b3576111b3610d78565b6111c6601f8201601f1916602001610dfb565b8181528460208386010111156111db57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261120957600080fd5b81356020611219610fe883610f92565b82815260059290921b8401810191818101908684111561123857600080fd5b8286015b8481101561102e57803561124f81610f0b565b835291830191830161123c565b600080600080600080610100878903121561127657600080fd5b863595506112878860208901610e2b565b9450608087013593506001600160401b0360a088013511156112a857600080fd5b6112b88860a089013589016110b4565b925060c087013591506001600160401b0360e088013511156112d957600080fd5b60e087013587016080818a0312156112f057600080fd5b6112f8610db7565b61130182610f7e565b815261130f60208301610fb5565b60208201526001600160401b036040830135111561132c57600080fd5b61133c8a60408401358401611189565b60408201526001600160401b036060830135111561135957600080fd5b60608201358201915089601f83011261137157600080fd5b61137e610fe88335610f92565b82358082526020808301929160051b8501018c101561139c57600080fd5b602084015b6020853560051b8601018110156114a5576001600160401b03813511156113c757600080fd5b60c0813586018e03601f190112156113de57600080fd5b6113e6610dd9565b6113f560208335880101610fb5565b815261140660408335880101610f7e565b602082015281358601606081013560408301526001600160401b03608090910135111561143257600080fd5b6114488e83358801608081013501602001611189565b60608201526001600160401b038235870160a00135111561146857600080fd5b61147e8e8335880160a0810135016020016111f8565b608082015261149260c08335880101610e86565b60a08201528352602092830192016113a1565b50806060840152505080925050509295509295509295565b60008060008060008061010087890312156114d757600080fd5b863595506114e88860208901610e2b565b94506080870135935060a08701356001600160401b038082111561150b57600080fd5b6115178a838b016110b4565b945060c089013591508082111561152d57600080fd5b5061153a89828a016111f8565b92505061154960e08801610e86565b90509295509295509295565b634e487b7160e01b600052601160045260246000fd5b6001600160401b0381811683821601908082111561158b5761158b611555565b5092915050565b6001600160801b0381811683821601908082111561158b5761158b611555565b6000602082840312156115c457600080fd5b5051919050565b6000602082840312156115dd57600080fd5b81516115e88161109b565b9392505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610b3d57610b3d611555565b80820180821115610b3d57610b3d611555565b81810381811115610b3d57610b3d611555565b60008261167357634e487b7160e01b600052601260045260246000fd5b500490565b60005b8381101561169357818101518382015260200161167b565b50506000910152565b600081518084526116b4816020860160208601611678565b601f01601f19169290920160200192915050565b61ffff871681526000602063ffffffff88168184015286604084015260c060608401526116f860c084018761169c565b838103608085015285518082528287019183019060005b818110156117345783516001600160a01b03168352928401929184019160010161170f565b50506001600160801b03861660a08601529250610ccf915050565b60006001820161176157611761611555565b5060010190565b6000825161177a818460208701611678565b9190910192915050565b6020815260006115e8602083018461169c56fea264697066735822122089c669cb2bfc782154fe09b6afcf9e2fff5eab2b72c9dc1fb0187a8a5d6a7bb064736f6c63430008130033";
|
|
119
119
|
|
|
120
120
|
type DirectPaymentsLibraryConstructorParams =
|
|
121
121
|
| [signer?: Signer]
|
|
@@ -58,6 +58,11 @@ const _abi = [
|
|
|
58
58
|
name: "FEE_FLOW_FAILED",
|
|
59
59
|
type: "error",
|
|
60
60
|
},
|
|
61
|
+
{
|
|
62
|
+
inputs: [],
|
|
63
|
+
name: "LENGTH_MISMATCH",
|
|
64
|
+
type: "error",
|
|
65
|
+
},
|
|
61
66
|
{
|
|
62
67
|
inputs: [
|
|
63
68
|
{
|
|
@@ -679,6 +684,24 @@ const _abi = [
|
|
|
679
684
|
stateMutability: "view",
|
|
680
685
|
type: "function",
|
|
681
686
|
},
|
|
687
|
+
{
|
|
688
|
+
inputs: [
|
|
689
|
+
{
|
|
690
|
+
internalType: "address[]",
|
|
691
|
+
name: "members",
|
|
692
|
+
type: "address[]",
|
|
693
|
+
},
|
|
694
|
+
{
|
|
695
|
+
internalType: "bytes[]",
|
|
696
|
+
name: "extraData",
|
|
697
|
+
type: "bytes[]",
|
|
698
|
+
},
|
|
699
|
+
],
|
|
700
|
+
name: "addMembers",
|
|
701
|
+
outputs: [],
|
|
702
|
+
stateMutability: "nonpayable",
|
|
703
|
+
type: "function",
|
|
704
|
+
},
|
|
682
705
|
{
|
|
683
706
|
inputs: [
|
|
684
707
|
{
|
|
@@ -2107,7 +2130,7 @@ const _abi = [
|
|
|
2107
2130
|
] as const;
|
|
2108
2131
|
|
|
2109
2132
|
const _bytecode =
|
|
2110
|
-
"0x60e06040523060c0523480156200001557600080fd5b5060405162005f7138038062005f71833981016040819052620000389162000098565b6001600160a01b038216608081905282908290620000695760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b031660a05250620000d7915050565b6001600160a01b03811681146200009557600080fd5b50565b60008060408385031215620000ac57600080fd5b8251620000b9816200007f565b6020840151909250620000cc816200007f565b809150509250929050565b60805160a05160c051615df36200017e60003960008181611096015281816110d60152818161147f015281816114bf015261153701526000818161092c01528181610e4d0152612150015260008181610bd401528181610dcf01528181610f58015281816115e501528181611744015281816118e801528181611dba01528181612066015281816124090152818161271b015281816127b2015261281c0152615df36000f3fe60806040526004361061025a5760003560e01c80630150aefb1461025f57806301ffc9a7146102a55780630947e8c7146102c55780630c710776146102ff578063150b7a021461032b57806319805538146103645780631a2a84b31461039d5780631bb15f3d146103cb5780631db128c714610477578063230dbd29146104a4578063248a9ca3146104c45780632b4116f7146104e45780632f2ff15d1461051157806330d9c9151461053357806336568abe146105535780633659cfe614610573578063379607f51461059357806347ccca02146105b35780634b1e337f146105d45780634f1ef286146105f457806352d1902d1461060757806353c11f991461061c578063586097541461063c5780635ab1bd531461065c5780635f9e7d7714610671578063647c75e21461069157806372ca8a3e1461070257806376ba085b146107225780637b10399914610742578063860aefcf14610763578063884d1f40146107a057806391d14854146107c05780639e83995f146107e05780639f351ce4146108005780639f8fddd214610820578063a10f469e14610840578063a217fddf14610862578063a4c0ed3614610877578063ae82720014610897578063bcb4546f146108aa578063c2e11e3f146108cc578063c31c9c071461091a578063d3112b2e1461094e578063d539139314610983578063d547741f146109a5578063d80528ae146109c5578063d86ed3e514610a56578063dc61d5c214610a76578063def482a414610ac9578063e06174e414610ae9578063ec87621c14610b80578063f3d5e34814610ba2578063f437bc5914610bc2575b600080fd5b34801561026b57600080fd5b5061029061027a366004613dad565b61013e6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156102b157600080fd5b506102906102c0366004613dc6565b610bf6565b3480156102d157600080fd5b50610143546102ea90600160a01b900463ffffffff1681565b60405163ffffffff909116815260200161029c565b34801561030b57600080fd5b506103186459df64940081565b604051600b9190910b815260200161029c565b34801561033757600080fd5b5061034b610346366004613e5d565b610c2d565b6040516001600160e01b0319909116815260200161029c565b34801561037057600080fd5b50610379610ce8565b604080516001600160a01b03909316835263ffffffff90911660208301520161029c565b3480156103a957600080fd5b506103bd6103b8366004613edc565b610d0d565b60405190815260200161029c565b3480156103d757600080fd5b506104336103e6366004613edc565b61014060205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692918216916001600160401b03918104821691600160c01b9091041685565b604080516001600160801b039687168152948616602086015292909416918301919091526001600160401b039081166060830152909116608082015260a00161029c565b34801561048357600080fd5b506104976104923660046140ce565b610dad565b60405161029c9190614195565b3480156104b057600080fd5b506104976104bf3660046141a8565b610ece565b3480156104d057600080fd5b506103bd6104df366004613dad565b610f15565b3480156104f057600080fd5b50609754610504906001600160a01b031681565b60405161029c9190614272565b34801561051d57600080fd5b5061053161052c366004614286565b610f2a565b005b34801561053f57600080fd5b5061049761054e3660046142b6565b610f4b565b34801561055f57600080fd5b5061053161056e366004614286565b61100e565b34801561057f57600080fd5b5061053161058e366004613edc565b61108c565b34801561059f57600080fd5b506105316105ae366004613dad565b611154565b3480156105bf57600080fd5b5061013d54610504906001600160a01b031681565b3480156105e057600080fd5b506105316105ef3660046145eb565b6111cc565b610531610602366004614673565b611475565b34801561061357600080fd5b506103bd61152a565b34801561062857600080fd5b506104976106373660046141a8565b6115d8565b34801561064857600080fd5b506105316106573660046146c2565b6116b5565b34801561066857600080fd5b50610504611727565b34801561067d57600080fd5b5061049761068c3660046142b6565b611737565b34801561069d57600080fd5b506106db6106ac366004613edc565b60986020526000908152604090208054600190910154600b81900b90600160601b90046001600160801b031683565b60408051938452600b9290920b60208401526001600160801b03169082015260600161029c565b34801561070e57600080fd5b5061029061071d366004613edc565b61181c565b34801561072e57600080fd5b5061053161073d3660046148f0565b611830565b34801561074e57600080fd5b5061014354610504906001600160a01b031681565b34801561076f57600080fd5b5061013a5461013b5461013c5461078592919083565b6040805193845260208401929092529082015260600161029c565b3480156107ac57600080fd5b506104976107bb3660046142b6565b6118db565b3480156107cc57600080fd5b506102906107db366004614286565b6119d8565b3480156107ec57600080fd5b506105316107fb366004614953565b611a03565b34801561080c57600080fd5b5061053161081b366004614999565b611bd3565b34801561082c57600080fd5b5061049761083b3660046149d5565b611d98565b34801561084c57600080fd5b506103bd600080516020615d9e83398151915281565b34801561086e57600080fd5b506103bd600081565b34801561088357600080fd5b50610290610892366004614a23565b611e52565b6105316108a5366004614a7e565b611ec9565b3480156108b657600080fd5b506103bd600080516020615cd783398151915281565b3480156108d857600080fd5b506101415461014254610433916001600160801b0380821692600160801b92839004821692918116916001600160401b03908204811691600160c01b90041685565b34801561092657600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b34801561095a57600080fd5b50609954609a54610975916001600160a01b03908116911682565b60405161029c929190614ab2565b34801561098f57600080fd5b506103bd600080516020615cf783398151915281565b3480156109b157600080fd5b506105316109c0366004614286565b611f4f565b3480156109d157600080fd5b50609b54609c54609d54609e54609f5460a05460a154610a0c969594936001600160a01b0380821694600160a01b909204600b0b9391169188565b604080519889526020890197909752958701949094526001600160a01b039283166060870152600b9190910b60808601521660a084015260c083015260e08201526101000161029c565b348015610a6257600080fd5b50610497610a713660046141a8565b611f6b565b348015610a8257600080fd5b50610a8b611f99565b604080519788526020880196909652948601939093526060850191909152600b90810b608085015290810b60a08401520b60c082015260e00161029c565b348015610ad557600080fd5b50610497610ae4366004614acc565b612044565b348015610af557600080fd5b506101335461013654610137546101385461013954610b389463ffffffff16936001600160a01b039081169381169281169190811690600160a01b900460ff1686565b6040805163ffffffff90971687526001600160a01b039586166020880152938516938601939093529083166060850152919091166080830152151560a082015260c00161029c565b348015610b8c57600080fd5b506103bd600080516020615d5783398151915281565b348015610bae57600080fd5b50610531610bbd366004614b2a565b612297565b348015610bce57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b60006001600160e01b03198216637965db0b60e01b1480610c2757506301ffc9a760e01b6001600160e01b03198316145b92915050565b61013d546040516302b5313d60e21b81526004810185905260009182916001600160a01b0390911690630ad4c4f490602401600060405180830381865afa158015610c7c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ca49190810190614c1b565b61013354815191925063ffffffff918216911614610cd55760405163f26722ad60e01b815260040160405180910390fd5b50630a85bd0160e11b9695505050505050565b61013654610143546001600160a01b0390911691600160a01b90910463ffffffff1690565b6001600160a01b0381166000908152609860209081526040808320815160608101835281548152600190910154600b81900b938201849052600160601b90046001600160801b031691810191909152908203610d6a575192915050565b6040810151610d82906001600160801b031642614dee565b81602001516001600160601b0316610d9a9190614e01565b8151610da69190614e18565b9392505050565b606082336001600160a01b03821614801590610df25750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b15610e1b573360405163087231bf60e31b8152600401610e129190614272565b60405180910390fd5b6097546040516358c0dacb60e01b815273__$0d78a42341742155da77b97d7f993534c7$__916358c0dacb91610e83917f0000000000000000000000000000000000000000000000000000000000000000918a916001600160a01b0316908a90600401614e70565b602060405180830381865af4158015610ea0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec49190614eab565b5091949350505050565b60606000610ede87890189614ec4565b509050600080610ef087890189614f01565b91509150610f028d8484848a8a61230f565b93505050505b9998505050505050505050565b60009081526065602052604090206001015490565b610f3382610f15565b610f3c81612356565b610f468383612360565b505050565b6060336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f9657604051632f2d36a760e01b815260040160405180910390fd5b610f9f876123e3565b610fc25750604080518082019091526002815261060f60f31b6020820152611003565b610fcb8861181c565b610fe857604051631ea25bab60e31b815260040160405180910390fd5b50604080518082019091526002815261060f60f31b60208201525b979650505050505050565b6001600160a01b038116331461107e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610e12565b6110888282612497565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036110d45760405162461bcd60e51b8152600401610e1290614f1f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661110661251a565b6001600160a01b03161461112c5760405162461bcd60e51b8152600401610e1290614f59565b61113581612536565b6040805160008082526020820190925261115191839190612541565b50565b61013d546040516302b5313d60e21b8152600481018390526111519183916001600160a01b0390911690630ad4c4f490602401600060405180830381865afa1580156111a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261081b9190810190614c1b565b600054610100900460ff16158080156111ec5750600054600160ff909116105b8061120d57506111fb306126ac565b15801561120d575060005460ff166001145b6112705760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610e12565b6000805460ff191660011790558015611293576000805461ff0019166101001790555b61014380546001600160a01b0319166001600160a01b0384161790558451610133805463ffffffff191663ffffffff90921691909117815560208087015180518893926112e69261013492910190613c49565b5060408201518051611302916002840191602090910190613cf2565b5060608201516003820180546001600160a01b03199081166001600160a01b03938416179091556080840151600484018054831691841691909117905560a0840151600584018054831691841691909117905560c08401516006909301805460e0909501519383166001600160a81b031990951694909417600160a01b931515840217909355865161013a55602087015161013b55604087015161013c5561013d805490931690891617909155610143805463ffffffff60a01b191663ffffffff86169092029190911790556113d96000336126bb565b6113f5600080516020615d5783398151915286606001516126bb565b611411600080516020615cf783398151915286606001516126bb565b61013954611427906001600160a01b03166126c5565b801561146d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036114bd5760405162461bcd60e51b8152600401610e1290614f1f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114ef61251a565b6001600160a01b0316146115155760405162461bcd60e51b8152600401610e1290614f59565b61151e82612536565b61108882826001612541565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115c55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610e12565b50600080516020615d3783398151915290565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806116185750611616896123e3565b155b8061162957506116278a61181c565b155b1561166d5782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929350610f0892505050565b60008061167c888a018a614ec4565b9092509050600080611690888a018a614f93565b915091506116a38e858584868c8c6128f6565b9e9d5050505050505050505050505050565b6097546040516332d4cd0360e11b815273__$0d78a42341742155da77b97d7f993534c7$__916365a99a06916116fb916001600160a01b03169086908690600401614fb8565b60006040518083038186803b15801561171357600080fd5b505af415801561146d573d6000803e3d6000fd5b610143546001600160a01b031690565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806117775750611775876123e3565b155b8061178857506117868861181c565b155b156117ac5750604080518082019091526002815261060f60f31b6020820152611003565b6000806117bb86880188614ec4565b90925090506000806117d76001600160a01b038d168585612949565b50509150915081816040516020016117fc929190918252600b0b602082015260400190565b604051602081830303815290604052945050505050979650505050505050565b6097546001600160a01b0390811691161490565b600080516020615cf783398151915261184881612356565b61013d546040516321aa1d2160e11b81526000916001600160a01b0316906343543a429061187f908890889060019060040161510d565b6020604051808303816000875af115801561189e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c29190614eab565b905082156118d4576118d48185611bd3565b5050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461192657604051632f2d36a760e01b815260040160405180910390fd5b61192f876123e3565b6119525750604080518082019091526002815261060f60f31b6020820152611003565b61195b8861181c565b61197857604051631ea25bab60e31b815260040160405180910390fd5b600061198685870187614ec4565b5090506000806119a06001600160a01b038c168430612949565b505060408051600b9290920b60208301528181019290925281518082038301815260609091019091529b9a5050505050505050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020615d57833981519152611a1b81612356565b610143805463ffffffff808516600160a01b0263ffffffff60a01b19909216919091179091556101335484518216911614611a6957604051630f91888160e01b815260040160405180910390fd5b60608301516001600160a01b0316611a945760405163890bc98f60e01b815260040160405180910390fd5b61013654611aad906000906001600160a01b0316612497565b8251610133805463ffffffff191663ffffffff9092169190911781556020808501518051869392611ae49261013492910190613c49565b5060408201518051611b00916002840191602090910190613cf2565b506060828101516003830180546001600160a01b039283166001600160a01b031991821617909155608085015160048501805491841691831691909117905560a08501516005850180549184169190921617905560c08401516006909301805460e0909501511515600160a01b026001600160a81b03199095169390911692909217929092179055830151611b97906000906126bb565b7f3eed38e4b04ae182994f6ef05c58a3987f571a66d6860d9046621cc204f407a083604051611bc691906151c8565b60405180910390a1505050565b61013d5460405163049b73f560e31b81526001600160a01b03909116906324db9fa890611c069085908590600401615279565b600060405180830381865afa158015611c23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c4b9190810190614c1b565b50600082815261013e602052604090205460ff1615611c80576040516330e51df560e11b815260048101839052602401610e12565b600082815261013e60205260408120805460ff191660011790555b816060015151811015611d4e5760005b82606001518281518110611cc157611cc1615292565b60200260200101516080015151811015611d3b57611d2883606001518381518110611cee57611cee615292565b6020026020010151608001518281518110611d0b57611d0b615292565b6020026020010151604051806020016040528060008152506129e1565b5080611d33816152a8565b915050611cab565b5080611d46816152a8565b915050611c9b565b5060405163cb22f4ff60e01b815273__$b588313394510b77eaf869f89af95096f1$__9063cb22f4ff906116fb906101419061013a906101409061013390899089906004016157c8565b606083336001600160a01b03821614801590611ddd5750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b15611dfd573360405163087231bf60e31b8152600401610e129190614272565b83600003611e1e57604051630f6fa54560e41b815260040160405180910390fd5b609754611e36906001600160a01b0316863087612b65565b610ec48585600060405180602001604052806000815250612c6b565b6097546000906001600160a01b03163314611e8057604051630ce706f760e41b815260040160405180910390fd5b83600003611ea157604051630f6fa54560e41b815260040160405180910390fd5b611ebd8585600060405180602001604052806000815250612c6b565b50600195945050505050565b6101435460408051638abf607760e01b815290516000926001600160a01b031691638abf60779160048083019260209291908290030181865afa158015611f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3891906158e6565b9050611f4381612536565b61108881836000612541565b611f5882610f15565b611f6181612356565b610f468383612497565b60606000611f7b87890189614ec4565b509050611f8a8b828686613313565b9b9a5050505050505050505050565b60975460405163b2f918a160e01b815260009182918291829182918291829173__$0d78a42341742155da77b97d7f993534c7$__9163b2f918a191611fed91609b916001600160a01b031690600401615903565b60e060405180830381865af415801561200a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202e919061598c565b959d949c50929a50909850965094509092509050565b606083336001600160a01b038216148015906120895750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b156120a9573360405163087231bf60e31b8152600401610e129190614272565b6097546040516370a0823160e01b81526000916001600160a01b0316906370a08231906120da903090600401614272565b602060405180830381865afa1580156120f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211b9190614eab565b6097546040516321437a5360e01b815291925073__$0d78a42341742155da77b97d7f993534c7$__916321437a539161218a917f0000000000000000000000000000000000000000000000000000000000000000918a916001600160a01b03909116908c903090600401615a00565b602060405180830381865af41580156121a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cb9190614eab565b506097546040516370a0823160e01b815260009183916001600160a01b03909116906370a0823190612201903090600401614272565b602060405180830381865afa15801561221e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122429190614eab565b61224c9190614dee565b90508060000361226f57604051630f6fa54560e41b815260040160405180910390fd5b61228b8782600060405180602001604052806000815250612c6b565b50939695505050505050565b600080516020615d578339815191526122af81612356565b815161013a8190556020808401805161013b556040808601805161013c5581519485529151928401929092525182820152517f220b9fb6f33ff05be83cf4d215109467b91026cf1f239e2acb4b7095cf09d5c59181900360600190a15050565b60606110038686600b0b8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612c6b92505050565b6111518133613361565b600080516020615d9e83398151915282036123d9576101435460405163329b55b760e21b81526001600160a01b039091169063ca6d56dc906123a6908490600401614272565b600060405180830381600087803b1580156123c057600080fd5b505af11580156123d4573d6000803e3d6000fd5b505050505b61108882826133ba565b604051635b69006f60e11b8152600080516020615cd783398151915260048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6d200de90602401602060405180830381865afa158015612458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061247c91906158e6565b6001600160a01b0316826001600160a01b0316149050919050565b600080516020615d9e8339815191528203612510576101435460405163058e524d60e11b81526001600160a01b0390911690630b1ca49a906124dd908490600401614272565b600060405180830381600087803b1580156124f757600080fd5b505af115801561250b573d6000803e3d6000fd5b505050505b6110888282613440565b600080516020615d37833981519152546001600160a01b031690565b600061108881612356565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561257457610f46836134a7565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156125ce575060408051601f3d908101601f191682019092526125cb91810190614eab565b60015b6126315760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610e12565b600080516020615d3783398151915281146126a05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610e12565b50610f46838383613541565b6001600160a01b03163b151590565b6110888282612360565b6001600160a01b0381166126ec5760405163538ba4f960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383811691909117909155604051631e51d6a760e11b81527f000000000000000000000000000000000000000000000000000000000000000090911690633ca3ad4e90612752903090600401614272565b602060405180830381865afa15801561276f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127939190615a41565b1515600003612811576040516315a722b960e31b8152600160048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ad3915c890602401600060405180830381600087803b1580156127fe57600080fd5b505af192505050801561280f575060015b505b6040805180820182527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168082529151635b69006f60e11b8152600080516020615cd783398151915260048201529091602083019163b6d200de90602401602060405180830381865afa158015612894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128b891906158e6565b6001600160a01b039081169091528151609980546001600160a01b0319908116928416929092179055602090920151609a8054909316911617905550565b606061293d8786600b0b8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612c6b92505050565b98975050505050505050565b600080600080600061295a8861356c565b604051631cd43d1160e31b81529092506001600160a01b038316915063e6a1e8889061298e908b908b908b90600401615a5e565b608060405180830381865afa1580156129ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129cf9190615a81565b929b919a509850909650945050505050565b60006129fb600080516020615d9e833981519152846119d8565b15612a0857506001610c27565b610138546001600160a01b031615612aa957610138546040516316874da360e11b81526000916001600160a01b031690632d0e9b4690612a4c908790600401614272565b602060405180830381865afa158015612a69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a8d91906158e6565b90506001600160a01b038116612aa7576000915050610c27565b505b610137546001600160a01b031615612b4457610137546040516356a42afd60e11b81526001600160a01b039091169063ad4855fa90612af2903090339088908890600401615abf565b602060405180830381865afa158015612b0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b339190615a41565b1515600003612b4457506000610c27565b612b5c600080516020615d9e83398151915284612360565b50600192915050565b600080856001600160a01b03166323b872dd60e01b868686604051602401612b8f93929190614fb8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612bcd9190615afd565b6000604051808303816000865af19150503d8060008114612c0a576040519150601f19603f3d011682016040523d82523d6000602084013e612c0f565b606091505b5091509150818015612c39575080511580612c39575080806020019051810190612c399190615a41565b61146d5760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b6044820152606401610e12565b805181901515600080612c7c610ce8565b609754919350915073__$0d78a42341742155da77b97d7f993534c7$__9063934e2cce90609b906001600160a01b0316612cb4611727565b8588612cc0578c612cc3565b60005b6040516001600160e01b031960e088901b16815260048101959095526001600160a01b03938416602486015292909116604484015263ffffffff166064830152608482015260a40160006040518083038186803b158015612d2357600080fd5b505af4158015612d37573d6000803e3d6000fd5b505060975460009250612d5591506001600160a01b03168a306136db565b6001600160a01b038a16600090815260986020526040902054909150841561314a57600082600b0b138015612d9257506459df649400600b83900b125b15612db557604051624963df60e91b8152600b83900b6004820152602401610e12565b6001600160a01b038a16600090815260986020526040902060010180546001600160e01b031916600160601b426001600160801b038116919091026001600160601b031916919091176001600160601b03851617909155612e17908990614dee565b612e21908a614e01565b6001600160a01b038b1660009081526098602052604081208054909190612e49908490614e18565b9091555060009050612e59611727565b6001600160a01b03161461301c57612e6f611727565b6001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa158015612eac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ed091906158e6565b9350612eda611727565b6001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f3b9190615b19565b925073__$0d78a42341742155da77b97d7f993534c7$__634d167a906099609760009054906101000a90046001600160a01b0316609b60030160009054906101000a90046001600160a01b031688888f89612f969190615b36565b8d6040518863ffffffff1660e01b8152600401612fb99796959493929190615b63565b600060405180830381865af4158015612fd6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ffe9190810190615bb3565b609e80546001600160a01b0319166001600160a01b03871617905595505b613024610ce8565b809450819550505073__$0d78a42341742155da77b97d7f993534c7$__634d167a906099609760009054906101000a90046001600160a01b0316609b60040160009054906101000a90046001600160a01b031688888f896130859190615b36565b8d6040518863ffffffff1660e01b81526004016130a89796959493929190615b63565b600060405180830381865af41580156130c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130ed9190810190615bb3565b609f80546001600160a01b0319166001600160a01b038781169190911790915560975491975061311e911630613769565b609e80546001600160601b0392909216600160a01b026001600160a01b03909216919091179055613289565b6000613154611727565b6001600160a01b0316146132435761316a611727565b6001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131cb91906158e6565b93506131d5611727565b6001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa158015613212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132369190615b19565b925061324384848b6137f0565b61324b610ce8565b909450925061325b84848b6137f0565b6001600160a01b038a16600090815260986020526040812080548b9290613283908490614e18565b90915550505b6001600160a01b038a166000818152609860205260409020547f6342e11b65ccb38a3bb259be9cda846c74ad52b36b62a2ee4799dc3db63a04a3908390886132d25760006132d4565b8c5b604080519384526020840192909252600b90810b8383015286900b60608301528815156080830152519081900360a00190a25050505050949350505050565b60606133588460008086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612c6b92505050565b95945050505050565b61336b82826119d8565b611088576133788161383c565b61338383602061384e565b604051602001613394929190615bfb565b60408051601f198184030181529082905262461bcd60e51b8252610e1291600401614195565b6133c482826119d8565b6110885760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556133fc3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61344a82826119d8565b156110885760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6134b0816126ac565b6135125760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610e12565b600080516020615d3783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61354a836139e9565b6000825111806135575750805b15610f46576135668383613a29565b50505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b0381166136aa576001600160a01b03821661363157826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561360a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362e91906158e6565b91505b604051635b69006f60e11b8152600080516020615cd783398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015613683573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136a791906158e6565b90505b6001600160a01b0382166136c0576136c0615c6a565b6001600160a01b0381166136d6576136d6615c6a565b915091565b6000806136e78561356c565b604051631cd43d1160e31b81529092506001600160a01b038316915063e6a1e8889061371b90889088908890600401615a5e565b608060405180830381865afa158015613738573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061375c9190615a81565b5090979650505050505050565b6000806137758461356c565b60405163e8e7e2d160e01b81529092506001600160a01b038316915063e8e7e2d1906137a79087908790600401614ab2565b602060405180830381865afa1580156137c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137e89190615c80565b949350505050565b6001600160a01b03831661380357505050565b600061271061381863ffffffff851684614e01565b6138229190615c9d565b609754909150613566906001600160a01b03168583613b12565b6060610c276001600160a01b03831660145b6060600061385d836002614e01565b613868906002614e18565b6001600160401b0381111561387f5761387f613f06565b6040519080825280601f01601f1916602001820160405280156138a9576020820181803683370190505b509050600360fc1b816000815181106138c4576138c4615292565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106138f3576138f3615292565b60200101906001600160f81b031916908160001a9053506000613917846002614e01565b613922906001614e18565b90505b600181111561399a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061395657613956615292565b1a60f81b82828151811061396c5761396c615292565b60200101906001600160f81b031916908160001a90535060049490941c9361399381615cbf565b9050613925565b508315610da65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e12565b6139f2816134a7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060613a34836126ac565b613a8f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610e12565b600080846001600160a01b031684604051613aaa9190615afd565b600060405180830381855af49150503d8060008114613ae5576040519150601f19603f3d011682016040523d82523d6000602084013e613aea565b606091505b50915091506133588282604051806060016040528060278152602001615d7760279139613c0b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691613b6e9190615afd565b6000604051808303816000865af19150503d8060008114613bab576040519150601f19603f3d011682016040523d82523d6000602084013e613bb0565b606091505b5091509150818015613bda575080511580613bda575080806020019051810190613bda9190615a41565b6118d45760405162461bcd60e51b815260206004820152600260248201526114d560f21b6044820152606401610e12565b60608315613c1a575081610da6565b610da68383815115613c2f5781518083602001fd5b8060405162461bcd60e51b8152600401610e129190614195565b82805482825590600052602060002090600f01601090048101928215613ce25791602002820160005b83821115613cb257835183826101000a81548161ffff021916908361ffff1602179055509260200192600201602081600101049283019260010302613c72565b8015613ce05782816101000a81549061ffff0219169055600201602081600101049283019260010302613cb2565b505b50613cee929150613d98565b5090565b82805482825590600052602060002090600101600290048101928215613ce25791602002820160005b83821115613d6557835183826101000a8154816001600160801b0302191690836001600160801b031602179055509260200192601001602081600f01049283019260010302613d1b565b8015613ce05782816101000a8154906001600160801b030219169055601001602081600f01049283019260010302613d65565b5b80821115613cee5760008155600101613d99565b600060208284031215613dbf57600080fd5b5035919050565b600060208284031215613dd857600080fd5b81356001600160e01b031981168114610da657600080fd5b6001600160a01b038116811461115157600080fd5b8035613e1081613df0565b919050565b60008083601f840112613e2757600080fd5b5081356001600160401b03811115613e3e57600080fd5b602083019150836020828501011115613e5657600080fd5b9250929050565b600080600080600060808688031215613e7557600080fd5b8535613e8081613df0565b94506020860135613e9081613df0565b93506040860135925060608601356001600160401b03811115613eb257600080fd5b613ebe88828901613e15565b969995985093965092949392505050565b6001600160a01b03169052565b600060208284031215613eee57600080fd5b8135610da681613df0565b6001600160801b03169052565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b0381118282101715613f3f57613f3f613f06565b60405290565b604051608081016001600160401b0381118282101715613f3f57613f3f613f06565b60405160c081016001600160401b0381118282101715613f3f57613f3f613f06565b604051601f8201601f191681016001600160401b0381118282101715613fb157613fb1613f06565b604052919050565b60006001600160401b03821115613fd257613fd2613f06565b50601f01601f191660200190565b600082601f830112613ff157600080fd5b8135614004613fff82613fb9565b613f89565b81815284602083860101111561401957600080fd5b816020850160208301376000918101602001919091529392505050565b600060a0828403121561404857600080fd5b60405160a081016001600160401b03808211838310171561406b5761406b613f06565b816040528293508435915061407f82613df0565b81835260208501356020840152604085013560408401526060850135606084015260808501359150808211156140b457600080fd5b506140c185828601613fe0565b6080830152505092915050565b6000806000606084860312156140e357600080fd5b83356001600160401b03808211156140fa57600080fd5b61410687838801614036565b94506020860135915061411882613df0565b9092506040850135908082111561412e57600080fd5b5061413b86828701613fe0565b9150509250925092565b60005b83811015614160578181015183820152602001614148565b50506000910152565b60008151808452614181816020860160208601614145565b601f01601f19169290920160200192915050565b602081526000610da66020830184614169565b600080600080600080600080600060c08a8c0312156141c657600080fd5b89356141d181613df0565b985060208a01356141e181613df0565b975060408a0135965060608a01356001600160401b038082111561420457600080fd5b6142108d838e01613e15565b909850965060808c013591508082111561422957600080fd5b6142358d838e01613e15565b909650945060a08c013591508082111561424e57600080fd5b5061425b8c828d01613e15565b915080935050809150509295985092959850929598565b6001600160a01b0391909116815260200190565b6000806040838503121561429957600080fd5b8235915060208301356142ab81613df0565b809150509250929050565b600080600080600080600060a0888a0312156142d157600080fd5b87356142dc81613df0565b965060208801356142ec81613df0565b95506040880135945060608801356001600160401b038082111561430f57600080fd5b61431b8b838c01613e15565b909650945060808a013591508082111561433457600080fd5b506143418a828b01613e15565b989b979a50959850939692959293505050565b63ffffffff8116811461115157600080fd5b8035613e1081614354565b60006001600160401b0382111561438a5761438a613f06565b5060051b60200190565b61ffff8116811461115157600080fd5b8035613e1081614394565b600082601f8301126143c057600080fd5b813560206143d0613fff83614371565b82815260059290921b840181019181810190868411156143ef57600080fd5b8286015b8481101561441357803561440681614394565b83529183019183016143f3565b509695505050505050565b6001600160801b038116811461115157600080fd5b8035613e108161441e565b600082601f83011261444f57600080fd5b8135602061445f613fff83614371565b82815260059290921b8401810191818101908684111561447e57600080fd5b8286015b848110156144135780356144958161441e565b8352918301918301614482565b801515811461115157600080fd5b8035613e10816144a2565b600061010082840312156144ce57600080fd5b6144d6613f1c565b90506144e182614366565b815260208201356001600160401b03808211156144fd57600080fd5b614509858386016143af565b6020840152604084013591508082111561452257600080fd5b5061452f8482850161443e565b60408301525061454160608301613e05565b606082015261455260808301613e05565b608082015261456360a08301613e05565b60a082015261457460c08301613e05565b60c082015261458560e083016144b0565b60e082015292915050565b6000606082840312156145a257600080fd5b604051606081016001600160401b03811182821017156145c4576145c4613f06565b80604052508091508235815260208301356020820152604083013560408201525092915050565b600080600080600060e0868803121561460357600080fd5b853561460e81613df0565b945060208601356001600160401b0381111561462957600080fd5b614635888289016144bb565b9450506146458760408801614590565b925060a086013561465581614354565b915060c086013561466581613df0565b809150509295509295909350565b6000806040838503121561468657600080fd5b823561469181613df0565b915060208301356001600160401b038111156146ac57600080fd5b6146b885828601613fe0565b9150509250929050565b600080604083850312156146d557600080fd5b82356146e081613df0565b946020939093013593505050565b600082601f8301126146ff57600080fd5b8135602061470f613fff83614371565b82815260059290921b8401810191818101908684111561472e57600080fd5b8286015b8481101561441357803561474581613df0565b8352918301918301614732565b60006080828403121561476457600080fd5b61476c613f45565b9050813561477981614354565b815260208281013561478a81614394565b8282015260408301356001600160401b03808211156147a857600080fd5b6147b486838701613fe0565b604085015260608501359150808211156147cd57600080fd5b818501915085601f8301126147e157600080fd5b81356147ef613fff82614371565b81815260059190911b8301840190848101908883111561480e57600080fd5b8585015b838110156148de5780358581111561482a5760008081fd5b860160c0818c03601f19018113156148425760008081fd5b61484a613f67565b6148558a84016143a4565b815261486360408401614366565b8a820152606083013560408201526080830135888111156148845760008081fd5b6148928e8c83870101613fe0565b60608301525060a080840135898111156148ac5760008081fd5b6148ba8f8d838801016146ee565b6080840152506148cb838501614433565b9082015285525050918601918601614812565b50606087015250939695505050505050565b60008060006060848603121561490557600080fd5b833561491081613df0565b925060208401356001600160401b0381111561492b57600080fd5b61493786828701614752565b9250506040840135614948816144a2565b809150509250925092565b6000806040838503121561496657600080fd5b82356001600160401b0381111561497c57600080fd5b614988858286016144bb565b92505060208301356142ab81614354565b600080604083850312156149ac57600080fd5b8235915060208301356001600160401b038111156149c957600080fd5b6146b885828601614752565b6000806000606084860312156149ea57600080fd5b83356149f581613df0565b92506020840135915060408401356001600160401b03811115614a1757600080fd5b61413b86828701613fe0565b60008060008060608587031215614a3957600080fd5b8435614a4481613df0565b93506020850135925060408501356001600160401b03811115614a6657600080fd5b614a7287828801613e15565b95989497509550505050565b600060208284031215614a9057600080fd5b81356001600160401b03811115614aa657600080fd5b6137e884828501613fe0565b6001600160a01b0392831681529116602082015260400190565b600080600060608486031215614ae157600080fd5b8335614aec81613df0565b925060208401356001600160401b0380821115614b0857600080fd5b614b1487838801614036565b9350604086013591508082111561412e57600080fd5b600060608284031215614b3c57600080fd5b610da68383614590565b8051613e1081614354565b8051613e1081614394565b6000614b6a613fff84613fb9565b9050828152838383011115614b7e57600080fd5b610da6836020830184614145565b600082601f830112614b9d57600080fd5b610da683835160208501614b5c565b600082601f830112614bbd57600080fd5b81516020614bcd613fff83614371565b82815260059290921b84018101918181019086841115614bec57600080fd5b8286015b84811015614413578051614c0381613df0565b8352918301918301614bf0565b8051613e108161441e565b60006020808385031215614c2e57600080fd5b82516001600160401b0380821115614c4557600080fd5b9084019060808287031215614c5957600080fd5b614c61613f45565b8251614c6c81614354565b815282840151614c7b81614394565b81850152604083015182811115614c9157600080fd5b614c9d88828601614b8c565b604083015250606083015182811115614cb557600080fd5b80840193505086601f840112614cca57600080fd5b8251614cd8613fff82614371565b81815260059190911b84018501908581019089831115614cf757600080fd5b8686015b83811015614dc557805186811115614d1257600080fd5b870160c0818d03601f19011215614d295760008081fd5b614d31613f67565b614d3c8a8301614b51565b8152614d4a60408301614b46565b8a82015260608201516040820152608082015188811115614d6b5760008081fd5b614d798e8c83860101614b8c565b60608301525060a08083015189811115614d935760008081fd5b614da18f8d83870101614bac565b608084015250614db360c08401614c10565b90820152845250918701918701614cfb565b5060608401525090979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610c2757610c27614dd8565b8082028115828204841417610c2757610c27614dd8565b80820180821115610c2757610c27614dd8565b60018060a01b0381511682526020810151602083015260408101516040830152606081015160608301526000608082015160a060808501526137e860a0850182614169565b600060018060a01b03808716835260806020840152614e926080840187614e2b565b9481166040840152929092166060909101525092915050565b600060208284031215614ebd57600080fd5b5051919050565b60008060408385031215614ed757600080fd5b8235614ee281613df0565b915060208301356142ab81613df0565b80600b0b811461115157600080fd5b60008060408385031215614f1457600080fd5b82356146e081614ef2565b6020808252602c90820152600080516020615d1783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020615d1783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60008060408385031215614fa657600080fd5b8235915060208301356142ab81614ef2565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000608063ffffffff80845116855260208085015161ffff80821683890152604091508187015185838a0152615014868a0182614169565b90506060808901518a8303828c01528281518085528785019150878160051b860101888401935060005b828110156150fb57601f19878303018452845160c08982511684528c8c830151168c8501528a8201518b85015287820151818986015261508082860182614169565b9150508d8201518482038f8601528181518084528e840191508e83019350600092505b808310156150cc5783516001600160a01b03168252928e019260019290920191908e01906150a3565b5060a0938401519392506150e286840185613ef9565b978d0197968d019694505050600191909101905061503e565b509d9c50505050505050505050505050565b6001600160a01b038416815260806020820181905260009061513190830185614fdc565b9215156040830152508082036060909101526000815260200192915050565b600081518084526020808501945080840160005b8381101561518457815161ffff1687529582019590820190600101615164565b509495945050505050565b600081518084526020808501945080840160005b838110156151845781516001600160801b0316875295820195908201906001016151a3565b6020815263ffffffff8251166020820152600060208301516101008060408501526151f7610120850183615150565b91506040850151601f19858403016060860152615214838261518f565b92505060608501516152296080860182613ecf565b50608085015161523c60a0860182613ecf565b5060a085015161524f60c0860182613ecf565b5060c085015161526260e0860182613ecf565b5060e0850151801515858301525090949350505050565b8281526040602082015260006137e86040830184614fdc565b634e487b7160e01b600052603260045260246000fd5b6000600182016152ba576152ba614dd8565b5060010190565b805480835260008281526020808220940193909190825b82600f8201101561542957815461ffff80821688526020615303818a01838560101c1661ffff169052565b6040615318818b018486851c1661ffff169052565b60609150615330828b01848660301c1661ffff169052565b6080615345818c018587851c1661ffff169052565b60a0915061535d828c01858760501c1661ffff169052565b60c0615372818d018688871c1661ffff169052565b60e0935061538a848d01868860701c1661ffff169052565b61ffff86831c8616166101008d01526153af6101208d01868860901c1661ffff169052565b61ffff86841c8616166101408d01526153d46101608d01868860b01c1661ffff169052565b61ffff86821c8616166101808d01525050506153fc6101a08a01838560d01c1661ffff169052565b82901c1661ffff166101c088015260f01c6101e087015261020090950194600191909101906010016152d8565b905490828110156154455761ffff821686526020909501946001015b828110156154625761ffff601083901c1686526020909501946001015b8281101561548057602082901c61ffff168652602095909501946001015b8281101561549d5761ffff603083901c1686526020909501946001015b828110156154ba5761ffff604083901c1686526020909501946001015b828110156154d75761ffff605083901c1686526020909501946001015b828110156154f45761ffff606083901c1686526020909501946001015b828110156155115761ffff607083901c1686526020909501946001015b8281101561552e5761ffff608083901c1686526020909501946001015b8281101561554b5761ffff609083901c1686526020909501946001015b828110156155685761ffff60a083901c1686526020909501946001015b828110156155855761ffff60b083901c1686526020909501946001015b828110156155a25761ffff60c083901c1686526020909501946001015b828110156155bf5761ffff60d083901c1686526020909501946001015b828110156155dc5761ffff60e083901c1686526020909501946001015b828110156155f35760f082901c86525b6020860195505b5093949350505050565b805480835260008281526020808220940193909190825b60018381830110615625575061565f565b825461563a886001600160801b038316613ef9565b61564a602089018260801c613ef9565b50604096909601959190910190600201615614565b905490828110156156885761567d866001600160801b038416613ef9565b602095909501946001015b828110156155f3576155ec868360801c613ef9565b6001600160a01b031690565b6000608063ffffffff80845116855260208085015161ffff80821683890152604091508187015185838a01526156e1868a0182614169565b90506060808901518a8303828c01528281518085528785019150878160051b860101888401935060005b828110156150fb57601f19878303018452845160c08982511684528c8c830151168c8501528a8201518b85015287820151818986015261574d82860182614169565b9150508d8201518482038f8601528181518084528e840191508e83019350600092505b808310156157995783516001600160a01b03168252928e019260019290920191908e0190615770565b5060a0938401519392506157af86840185613ef9565b978d0197968d019694505050600191909101905061570b565b60006101008883528754602084015260018801546040840152600288015460608401528660808401528060a084015261581581840161580b885463ffffffff1690565b63ffffffff169052565b61012083015261582c6102008301600187016152c1565b82810360ff190161014084015261584681600288016155fd565b9050615855600387015461569d565b615863610160850182613ecf565b50615871600487015461569d565b61587f610180850182613ecf565b5061588d600587015461569d565b61589b6101a0850182613ecf565b5060068601546158b86101c085016001600160a01b038316613ecf565b6158cd6101e0850160ff8360a01c1615159052565b508460c084015282810360e0840152610f0881856156a9565b6000602082840312156158f857600080fd5b8151610da681613df0565b825481526001830154602082015260028301546040820152600383015461012082019061593c606084016001600160a01b038316613ecf565b61594e608084018260a01d600b0b9052565b5061595c600485015461569d565b61596960a0840182613ecf565b50600584015460c0830152600684015460e0830152610da6610100830184613ecf565b600080600080600080600060e0888a0312156159a757600080fd5b8751965060208801519550604088015194506060880151935060808801516159ce81614ef2565b60a08901519093506159df81614ef2565b60c08901519092506159f081614ef2565b8091505092959891949750929550565b600060018060a01b03808816835260a06020840152615a2260a0840188614e2b565b9581166040840152938416606083015250911660809091015292915050565b600060208284031215615a5357600080fd5b8151610da6816144a2565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60008060008060808587031215615a9757600080fd5b845193506020850151615aa981614ef2565b6040860151606090960151949790965092505050565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090615af390830184614169565b9695505050505050565b60008251615b0f818460208701614145565b9190910192915050565b600060208284031215615b2b57600080fd5b8151610da681614354565b600b82810b9082900b0360016001605f1b0319811260016001605f1b0382131715610c2757610c27614dd8565b8781526001600160a01b03878116602083015286811660408301528516606082015263ffffffff84166080820152600b83900b60a082015260e060c08201819052600090610f0890830184614169565b600060208284031215615bc557600080fd5b81516001600160401b03811115615bdb57600080fd5b8201601f81018413615bec57600080fd5b6137e884825160208401614b5c565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351615c2d816017850160208801614145565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351615c5e816028840160208801614145565b01602801949350505050565b634e487b7160e01b600052600160045260246000fd5b600060208284031215615c9257600080fd5b8151610da681614ef2565b600082615cba57634e487b7160e01b600052601260045260246000fd5b500490565b600081615cce57615cce614dd8565b50600019019056fea9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3f0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc946756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564829b824e2329e205435d941c9f13baf578548505283d29261236d8e6596d4636a26469706673582212203b7e1805c3bc029d486f883c92b5b83ae4745c1a5269e79112d4d37889299f1b64736f6c63430008130033";
|
|
2133
|
+
"0x60e06040523060c0523480156200001557600080fd5b506040516200616a3803806200616a833981016040819052620000389162000098565b6001600160a01b038216608081905282908290620000695760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b031660a05250620000d7915050565b6001600160a01b03811681146200009557600080fd5b50565b60008060408385031215620000ac57600080fd5b8251620000b9816200007f565b6020840151909250620000cc816200007f565b809150509250929050565b60805160a05160c051615fec6200017e600039600081816111a7015281816111e70152818161158f015281816115cf015261164701526000818161095701528181610e780152612260015260008181610bff01528181610dfa01528181611069015281816116f501528181611854015281816119f801528181611eca015281816121760152818161269d015281816129af01528181612a460152612ab00152615fec6000f3fe6080604052600436106102655760003560e01c80630150aefb1461026a57806301ffc9a7146102b05780630947e8c7146102d05780630c7107761461030a578063150b7a0214610336578063198055381461036f5780631a2a84b3146103a85780631bb15f3d146103d65780631db128c714610482578063229a36fa146104af578063230dbd29146104d1578063248a9ca3146104f15780632b4116f7146105115780632f2ff15d1461053e57806330d9c9151461055e57806336568abe1461057e5780633659cfe61461059e578063379607f5146105be57806347ccca02146105de5780634b1e337f146105ff5780634f1ef2861461061f57806352d1902d1461063257806353c11f991461064757806358609754146106675780635ab1bd53146106875780635f9e7d771461069c578063647c75e2146106bc57806372ca8a3e1461072d57806376ba085b1461074d5780637b1039991461076d578063860aefcf1461078e578063884d1f40146107cb57806391d14854146107eb5780639e83995f1461080b5780639f351ce41461082b5780639f8fddd21461084b578063a10f469e1461086b578063a217fddf1461088d578063a4c0ed36146108a2578063ae827200146108c2578063bcb4546f146108d5578063c2e11e3f146108f7578063c31c9c0714610945578063d3112b2e14610979578063d5391393146109ae578063d547741f146109d0578063d80528ae146109f0578063d86ed3e514610a81578063dc61d5c214610aa1578063def482a414610af4578063e06174e414610b14578063ec87621c14610bab578063f3d5e34814610bcd578063f437bc5914610bed575b600080fd5b34801561027657600080fd5b5061029b610285366004613ebd565b61013e6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156102bc57600080fd5b5061029b6102cb366004613ed6565b610c21565b3480156102dc57600080fd5b50610143546102f590600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016102a7565b34801561031657600080fd5b506103236459df64940081565b604051600b9190910b81526020016102a7565b34801561034257600080fd5b50610356610351366004613f6d565b610c58565b6040516001600160e01b031990911681526020016102a7565b34801561037b57600080fd5b50610384610d13565b604080516001600160a01b03909316835263ffffffff9091166020830152016102a7565b3480156103b457600080fd5b506103c86103c3366004613fec565b610d38565b6040519081526020016102a7565b3480156103e257600080fd5b5061043e6103f1366004613fec565b61014060205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692918216916001600160401b03918104821691600160c01b9091041685565b604080516001600160801b039687168152948616602086015292909416918301919091526001600160401b039081166060830152909116608082015260a0016102a7565b34801561048e57600080fd5b506104a261049d3660046141de565b610dd8565b6040516102a791906142a5565b3480156104bb57600080fd5b506104cf6104ca3660046142fc565b610ef9565b005b3480156104dd57600080fd5b506104a26104ec366004614367565b610fdf565b3480156104fd57600080fd5b506103c861050c366004613ebd565b611026565b34801561051d57600080fd5b50609754610531906001600160a01b031681565b6040516102a79190614431565b34801561054a57600080fd5b506104cf610559366004614445565b61103b565b34801561056a57600080fd5b506104a2610579366004614475565b61105c565b34801561058a57600080fd5b506104cf610599366004614445565b61111f565b3480156105aa57600080fd5b506104cf6105b9366004613fec565b61119d565b3480156105ca57600080fd5b506104cf6105d9366004613ebd565b611265565b3480156105ea57600080fd5b5061013d54610531906001600160a01b031681565b34801561060b57600080fd5b506104cf61061a3660046147aa565b6112dd565b6104cf61062d366004614832565b611585565b34801561063e57600080fd5b506103c861163a565b34801561065357600080fd5b506104a2610662366004614367565b6116e8565b34801561067357600080fd5b506104cf610682366004614881565b6117c5565b34801561069357600080fd5b50610531611837565b3480156106a857600080fd5b506104a26106b7366004614475565b611847565b3480156106c857600080fd5b506107066106d7366004613fec565b60986020526000908152604090208054600190910154600b81900b90600160601b90046001600160801b031683565b60408051938452600b9290920b60208401526001600160801b0316908201526060016102a7565b34801561073957600080fd5b5061029b610748366004613fec565b61192c565b34801561075957600080fd5b506104cf610768366004614aaf565b611940565b34801561077957600080fd5b5061014354610531906001600160a01b031681565b34801561079a57600080fd5b5061013a5461013b5461013c546107b092919083565b604080519384526020840192909252908201526060016102a7565b3480156107d757600080fd5b506104a26107e6366004614475565b6119eb565b3480156107f757600080fd5b5061029b610806366004614445565b611ae8565b34801561081757600080fd5b506104cf610826366004614b12565b611b13565b34801561083757600080fd5b506104cf610846366004614b58565b611ce3565b34801561085757600080fd5b506104a2610866366004614b94565b611ea8565b34801561087757600080fd5b506103c8600080516020615f9783398151915281565b34801561089957600080fd5b506103c8600081565b3480156108ae57600080fd5b5061029b6108bd366004614be2565b611f62565b6104cf6108d0366004614c31565b611fd9565b3480156108e157600080fd5b506103c8600080516020615ed083398151915281565b34801561090357600080fd5b50610141546101425461043e916001600160801b0380821692600160801b92839004821692918116916001600160401b03908204811691600160c01b90041685565b34801561095157600080fd5b506105317f000000000000000000000000000000000000000000000000000000000000000081565b34801561098557600080fd5b50609954609a546109a0916001600160a01b03908116911682565b6040516102a7929190614c65565b3480156109ba57600080fd5b506103c8600080516020615ef083398151915281565b3480156109dc57600080fd5b506104cf6109eb366004614445565b61205f565b3480156109fc57600080fd5b50609b54609c54609d54609e54609f5460a05460a154610a37969594936001600160a01b0380821694600160a01b909204600b0b9391169188565b604080519889526020890197909752958701949094526001600160a01b039283166060870152600b9190910b60808601521660a084015260c083015260e0820152610100016102a7565b348015610a8d57600080fd5b506104a2610a9c366004614367565b61207b565b348015610aad57600080fd5b50610ab66120a9565b604080519788526020880196909652948601939093526060850191909152600b90810b608085015290810b60a08401520b60c082015260e0016102a7565b348015610b0057600080fd5b506104a2610b0f366004614c7f565b612154565b348015610b2057600080fd5b506101335461013654610137546101385461013954610b639463ffffffff16936001600160a01b039081169381169281169190811690600160a01b900460ff1686565b6040805163ffffffff90971687526001600160a01b039586166020880152938516938601939093529083166060850152919091166080830152151560a082015260c0016102a7565b348015610bb757600080fd5b506103c8600080516020615f5083398151915281565b348015610bd957600080fd5b506104cf610be8366004614cdd565b6123a7565b348015610bf957600080fd5b506105317f000000000000000000000000000000000000000000000000000000000000000081565b60006001600160e01b03198216637965db0b60e01b1480610c5257506301ffc9a760e01b6001600160e01b03198316145b92915050565b61013d546040516302b5313d60e21b81526004810185905260009182916001600160a01b0390911690630ad4c4f490602401600060405180830381865afa158015610ca7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ccf9190810190614dce565b61013354815191925063ffffffff918216911614610d005760405163f26722ad60e01b815260040160405180910390fd5b50630a85bd0160e11b9695505050505050565b61013654610143546001600160a01b0390911691600160a01b90910463ffffffff1690565b6001600160a01b0381166000908152609860209081526040808320815160608101835281548152600190910154600b81900b938201849052600160601b90046001600160801b031691810191909152908203610d95575192915050565b6040810151610dad906001600160801b031642614fa1565b81602001516001600160601b0316610dc59190614fb4565b8151610dd19190614fcb565b9392505050565b606082336001600160a01b03821614801590610e1d5750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b15610e46573360405163087231bf60e31b8152600401610e3d9190614431565b60405180910390fd5b6097546040516358c0dacb60e01b815273__$0d78a42341742155da77b97d7f993534c7$__916358c0dacb91610eae917f0000000000000000000000000000000000000000000000000000000000000000918a916001600160a01b0316908a90600401615023565b602060405180830381865af4158015610ecb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eef919061505e565b5091949350505050565b600080516020615f50833981519152610f118161241f565b838214610f315760405163899ef10d60e01b815260040160405180910390fd5b60005b84811015610fd757610fc4868683818110610f5157610f51615077565b9050602002016020810190610f669190613fec565b858584818110610f7857610f78615077565b9050602002810190610f8a919061508d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061242992505050565b5080610fcf816150d3565b915050610f34565b505050505050565b60606000610fef878901896150ec565b50905060008061100187890189615129565b915091506110138d8484848a8a6125ad565b93505050505b9998505050505050505050565b60009081526065602052604090206001015490565b61104482611026565b61104d8161241f565b61105783836125f4565b505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110a757604051632f2d36a760e01b815260040160405180910390fd5b6110b087612677565b6110d35750604080518082019091526002815261060f60f31b6020820152611114565b6110dc8861192c565b6110f957604051631ea25bab60e31b815260040160405180910390fd5b50604080518082019091526002815261060f60f31b60208201525b979650505050505050565b6001600160a01b038116331461118f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610e3d565b611199828261272b565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036111e55760405162461bcd60e51b8152600401610e3d90615147565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112176127ae565b6001600160a01b03161461123d5760405162461bcd60e51b8152600401610e3d90615181565b611246816127ca565b60408051600080825260208201909252611262918391906127d5565b50565b61013d546040516302b5313d60e21b8152600481018390526112629183916001600160a01b0390911690630ad4c4f490602401600060405180830381865afa1580156112b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108469190810190614dce565b600054610100900460ff16158080156112fd5750600054600160ff909116105b8061131e575061130c30612940565b15801561131e575060005460ff166001145b6113815760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610e3d565b6000805460ff1916600117905580156113a4576000805461ff0019166101001790555b61014380546001600160a01b0319166001600160a01b0384161790558451610133805463ffffffff191663ffffffff90921691909117815560208087015180518893926113f79261013492910190613d59565b5060408201518051611413916002840191602090910190613e02565b5060608201516003820180546001600160a01b03199081166001600160a01b03938416179091556080840151600484018054831691841691909117905560a0840151600584018054831691841691909117905560c08401516006909301805460e0909501519383166001600160a81b031990951694909417600160a01b931515840217909355865161013a55602087015161013b55604087015161013c5561013d805490931690891617909155610143805463ffffffff60a01b191663ffffffff86169092029190911790556114ea60003361294f565b611506600080516020615f50833981519152866060015161294f565b611522600080516020615ef0833981519152866060015161294f565b61013954611538906001600160a01b0316612959565b8015610fd7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036115cd5760405162461bcd60e51b8152600401610e3d90615147565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166115ff6127ae565b6001600160a01b0316146116255760405162461bcd60e51b8152600401610e3d90615181565b61162e826127ca565b611199828260016127d5565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116d55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610e3d565b50600080516020615f3083398151915290565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141580611728575061172689612677565b155b8061173957506117378a61192c565b155b1561177d5782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092935061101992505050565b60008061178c888a018a6150ec565b90925090506000806117a0888a018a6151bb565b915091506117b38e858584868c8c612b8a565b9e9d5050505050505050505050505050565b6097546040516332d4cd0360e11b815273__$0d78a42341742155da77b97d7f993534c7$__916365a99a069161180b916001600160a01b031690869086906004016151e0565b60006040518083038186803b15801561182357600080fd5b505af4158015610fd7573d6000803e3d6000fd5b610143546001600160a01b031690565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141580611887575061188587612677565b155b8061189857506118968861192c565b155b156118bc5750604080518082019091526002815261060f60f31b6020820152611114565b6000806118cb868801886150ec565b90925090506000806118e76001600160a01b038d168585612bdd565b505091509150818160405160200161190c929190918252600b0b602082015260400190565b604051602081830303815290604052945050505050979650505050505050565b6097546001600160a01b0390811691161490565b600080516020615ef08339815191526119588161241f565b61013d546040516321aa1d2160e11b81526000916001600160a01b0316906343543a429061198f9088908890600190600401615335565b6020604051808303816000875af11580156119ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d2919061505e565b905082156119e4576119e48185611ce3565b5050505050565b6060336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a3657604051632f2d36a760e01b815260040160405180910390fd5b611a3f87612677565b611a625750604080518082019091526002815261060f60f31b6020820152611114565b611a6b8861192c565b611a8857604051631ea25bab60e31b815260040160405180910390fd5b6000611a96858701876150ec565b509050600080611ab06001600160a01b038c168430612bdd565b505060408051600b9290920b60208301528181019290925281518082038301815260609091019091529b9a5050505050505050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020615f50833981519152611b2b8161241f565b610143805463ffffffff808516600160a01b0263ffffffff60a01b19909216919091179091556101335484518216911614611b7957604051630f91888160e01b815260040160405180910390fd5b60608301516001600160a01b0316611ba45760405163890bc98f60e01b815260040160405180910390fd5b61013654611bbd906000906001600160a01b031661272b565b8251610133805463ffffffff191663ffffffff9092169190911781556020808501518051869392611bf49261013492910190613d59565b5060408201518051611c10916002840191602090910190613e02565b506060828101516003830180546001600160a01b039283166001600160a01b031991821617909155608085015160048501805491841691831691909117905560a08501516005850180549184169190921617905560c08401516006909301805460e0909501511515600160a01b026001600160a81b03199095169390911692909217929092179055830151611ca79060009061294f565b7f3eed38e4b04ae182994f6ef05c58a3987f571a66d6860d9046621cc204f407a083604051611cd691906153f0565b60405180910390a1505050565b61013d5460405163049b73f560e31b81526001600160a01b03909116906324db9fa890611d1690859085906004016154a1565b600060405180830381865afa158015611d33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d5b9190810190614dce565b50600082815261013e602052604090205460ff1615611d90576040516330e51df560e11b815260048101839052602401610e3d565b600082815261013e60205260408120805460ff191660011790555b816060015151811015611e5e5760005b82606001518281518110611dd157611dd1615077565b60200260200101516080015151811015611e4b57611e3883606001518381518110611dfe57611dfe615077565b6020026020010151608001518281518110611e1b57611e1b615077565b602002602001015160405180602001604052806000815250612429565b5080611e43816150d3565b915050611dbb565b5080611e56816150d3565b915050611dab565b5060405163cb22f4ff60e01b815273__$b588313394510b77eaf869f89af95096f1$__9063cb22f4ff9061180b906101419061013a906101409061013390899089906004016159c1565b606083336001600160a01b03821614801590611eed5750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b15611f0d573360405163087231bf60e31b8152600401610e3d9190614431565b83600003611f2e57604051630f6fa54560e41b815260040160405180910390fd5b609754611f46906001600160a01b0316863087612c75565b610eef8585600060405180602001604052806000815250612d7b565b6097546000906001600160a01b03163314611f9057604051630ce706f760e41b815260040160405180910390fd5b83600003611fb157604051630f6fa54560e41b815260040160405180910390fd5b611fcd8585600060405180602001604052806000815250612d7b565b50600195945050505050565b6101435460408051638abf607760e01b815290516000926001600160a01b031691638abf60779160048083019260209291908290030181865afa158015612024573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120489190615adf565b9050612053816127ca565b611199818360006127d5565b61206882611026565b6120718161241f565b611057838361272b565b6060600061208b878901896150ec565b50905061209a8b828686613423565b9b9a5050505050505050505050565b60975460405163b2f918a160e01b815260009182918291829182918291829173__$0d78a42341742155da77b97d7f993534c7$__9163b2f918a1916120fd91609b916001600160a01b031690600401615afc565b60e060405180830381865af415801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e9190615b85565b959d949c50929a50909850965094509092509050565b606083336001600160a01b038216148015906121995750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b156121b9573360405163087231bf60e31b8152600401610e3d9190614431565b6097546040516370a0823160e01b81526000916001600160a01b0316906370a08231906121ea903090600401614431565b602060405180830381865afa158015612207573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061222b919061505e565b6097546040516321437a5360e01b815291925073__$0d78a42341742155da77b97d7f993534c7$__916321437a539161229a917f0000000000000000000000000000000000000000000000000000000000000000918a916001600160a01b03909116908c903090600401615bf9565b602060405180830381865af41580156122b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122db919061505e565b506097546040516370a0823160e01b815260009183916001600160a01b03909116906370a0823190612311903090600401614431565b602060405180830381865afa15801561232e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612352919061505e565b61235c9190614fa1565b90508060000361237f57604051630f6fa54560e41b815260040160405180910390fd5b61239b8782600060405180602001604052806000815250612d7b565b50939695505050505050565b600080516020615f508339815191526123bf8161241f565b815161013a8190556020808401805161013b556040808601805161013c5581519485529151928401929092525182820152517f220b9fb6f33ff05be83cf4d215109467b91026cf1f239e2acb4b7095cf09d5c59181900360600190a15050565b6112628133613471565b6000612443600080516020615f9783398151915284611ae8565b1561245057506001610c52565b610138546001600160a01b0316156124f157610138546040516316874da360e11b81526000916001600160a01b031690632d0e9b4690612494908790600401614431565b602060405180830381865afa1580156124b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124d59190615adf565b90506001600160a01b0381166124ef576000915050610c52565b505b610137546001600160a01b03161561258c57610137546040516356a42afd60e11b81526001600160a01b039091169063ad4855fa9061253a903090339088908890600401615c3a565b602060405180830381865afa158015612557573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257b9190615c78565b151560000361258c57506000610c52565b6125a4600080516020615f97833981519152846125f4565b50600192915050565b60606111148686600b0b8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d7b92505050565b600080516020615f97833981519152820361266d576101435460405163329b55b760e21b81526001600160a01b039091169063ca6d56dc9061263a908490600401614431565b600060405180830381600087803b15801561265457600080fd5b505af1158015612668573d6000803e3d6000fd5b505050505b61119982826134ca565b604051635b69006f60e11b8152600080516020615ed083398151915260048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6d200de90602401602060405180830381865afa1580156126ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127109190615adf565b6001600160a01b0316826001600160a01b0316149050919050565b600080516020615f9783398151915282036127a4576101435460405163058e524d60e11b81526001600160a01b0390911690630b1ca49a90612771908490600401614431565b600060405180830381600087803b15801561278b57600080fd5b505af115801561279f573d6000803e3d6000fd5b505050505b6111998282613550565b600080516020615f30833981519152546001600160a01b031690565b60006111998161241f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561280857611057836135b7565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612862575060408051601f3d908101601f1916820190925261285f9181019061505e565b60015b6128c55760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610e3d565b600080516020615f3083398151915281146129345760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610e3d565b50611057838383613651565b6001600160a01b03163b151590565b61119982826125f4565b6001600160a01b0381166129805760405163538ba4f960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383811691909117909155604051631e51d6a760e11b81527f000000000000000000000000000000000000000000000000000000000000000090911690633ca3ad4e906129e6903090600401614431565b602060405180830381865afa158015612a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a279190615c78565b1515600003612aa5576040516315a722b960e31b8152600160048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ad3915c890602401600060405180830381600087803b158015612a9257600080fd5b505af1925050508015612aa3575060015b505b6040805180820182527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168082529151635b69006f60e11b8152600080516020615ed083398151915260048201529091602083019163b6d200de90602401602060405180830381865afa158015612b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4c9190615adf565b6001600160a01b039081169091528151609980546001600160a01b0319908116928416929092179055602090920151609a8054909316911617905550565b6060612bd18786600b0b8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d7b92505050565b98975050505050505050565b6000806000806000612bee8861367c565b604051631cd43d1160e31b81529092506001600160a01b038316915063e6a1e88890612c22908b908b908b90600401615c95565b608060405180830381865afa158015612c3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c639190615cb8565b929b919a509850909650945050505050565b600080856001600160a01b03166323b872dd60e01b868686604051602401612c9f939291906151e0565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612cdd9190615cf6565b6000604051808303816000865af19150503d8060008114612d1a576040519150601f19603f3d011682016040523d82523d6000602084013e612d1f565b606091505b5091509150818015612d49575080511580612d49575080806020019051810190612d499190615c78565b610fd75760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b6044820152606401610e3d565b805181901515600080612d8c610d13565b609754919350915073__$0d78a42341742155da77b97d7f993534c7$__9063934e2cce90609b906001600160a01b0316612dc4611837565b8588612dd0578c612dd3565b60005b6040516001600160e01b031960e088901b16815260048101959095526001600160a01b03938416602486015292909116604484015263ffffffff166064830152608482015260a40160006040518083038186803b158015612e3357600080fd5b505af4158015612e47573d6000803e3d6000fd5b505060975460009250612e6591506001600160a01b03168a306137eb565b6001600160a01b038a16600090815260986020526040902054909150841561325a57600082600b0b138015612ea257506459df649400600b83900b125b15612ec557604051624963df60e91b8152600b83900b6004820152602401610e3d565b6001600160a01b038a16600090815260986020526040902060010180546001600160e01b031916600160601b426001600160801b038116919091026001600160601b031916919091176001600160601b03851617909155612f27908990614fa1565b612f31908a614fb4565b6001600160a01b038b1660009081526098602052604081208054909190612f59908490614fcb565b9091555060009050612f69611837565b6001600160a01b03161461312c57612f7f611837565b6001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe09190615adf565b9350612fea611837565b6001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa158015613027573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304b9190615d12565b925073__$0d78a42341742155da77b97d7f993534c7$__634d167a906099609760009054906101000a90046001600160a01b0316609b60030160009054906101000a90046001600160a01b031688888f896130a69190615d2f565b8d6040518863ffffffff1660e01b81526004016130c99796959493929190615d5c565b600060405180830381865af41580156130e6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261310e9190810190615dac565b609e80546001600160a01b0319166001600160a01b03871617905595505b613134610d13565b809450819550505073__$0d78a42341742155da77b97d7f993534c7$__634d167a906099609760009054906101000a90046001600160a01b0316609b60040160009054906101000a90046001600160a01b031688888f896131959190615d2f565b8d6040518863ffffffff1660e01b81526004016131b89796959493929190615d5c565b600060405180830381865af41580156131d5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131fd9190810190615dac565b609f80546001600160a01b0319166001600160a01b038781169190911790915560975491975061322e911630613879565b609e80546001600160601b0392909216600160a01b026001600160a01b03909216919091179055613399565b6000613264611837565b6001600160a01b0316146133535761327a611837565b6001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132db9190615adf565b93506132e5611837565b6001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615d12565b925061335384848b613900565b61335b610d13565b909450925061336b84848b613900565b6001600160a01b038a16600090815260986020526040812080548b9290613393908490614fcb565b90915550505b6001600160a01b038a166000818152609860205260409020547f6342e11b65ccb38a3bb259be9cda846c74ad52b36b62a2ee4799dc3db63a04a3908390886133e25760006133e4565b8c5b604080519384526020840192909252600b90810b8383015286900b60608301528815156080830152519081900360a00190a25050505050949350505050565b60606134688460008086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d7b92505050565b95945050505050565b61347b8282611ae8565b611199576134888161394c565b61349383602061395e565b6040516020016134a4929190615df4565b60408051601f198184030181529082905262461bcd60e51b8252610e3d916004016142a5565b6134d48282611ae8565b6111995760008281526065602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561350c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61355a8282611ae8565b156111995760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6135c081612940565b6136225760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610e3d565b600080516020615f3083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61365a83613af9565b6000825111806136675750805b15611057576136768383613b39565b50505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b0381166137ba576001600160a01b03821661374157826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061373e9190615adf565b91505b604051635b69006f60e11b8152600080516020615ed083398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015613793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137b79190615adf565b90505b6001600160a01b0382166137d0576137d0615e63565b6001600160a01b0381166137e6576137e6615e63565b915091565b6000806137f78561367c565b604051631cd43d1160e31b81529092506001600160a01b038316915063e6a1e8889061382b90889088908890600401615c95565b608060405180830381865afa158015613848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061386c9190615cb8565b5090979650505050505050565b6000806138858461367c565b60405163e8e7e2d160e01b81529092506001600160a01b038316915063e8e7e2d1906138b79087908790600401614c65565b602060405180830381865afa1580156138d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f89190615e79565b949350505050565b6001600160a01b03831661391357505050565b600061271061392863ffffffff851684614fb4565b6139329190615e96565b609754909150613676906001600160a01b03168583613c22565b6060610c526001600160a01b03831660145b6060600061396d836002614fb4565b613978906002614fcb565b6001600160401b0381111561398f5761398f614016565b6040519080825280601f01601f1916602001820160405280156139b9576020820181803683370190505b509050600360fc1b816000815181106139d4576139d4615077565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613a0357613a03615077565b60200101906001600160f81b031916908160001a9053506000613a27846002614fb4565b613a32906001614fcb565b90505b6001811115613aaa576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613a6657613a66615077565b1a60f81b828281518110613a7c57613a7c615077565b60200101906001600160f81b031916908160001a90535060049490941c93613aa381615eb8565b9050613a35565b508315610dd15760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e3d565b613b02816135b7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060613b4483612940565b613b9f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610e3d565b600080846001600160a01b031684604051613bba9190615cf6565b600060405180830381855af49150503d8060008114613bf5576040519150601f19603f3d011682016040523d82523d6000602084013e613bfa565b606091505b50915091506134688282604051806060016040528060278152602001615f7060279139613d1b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691613c7e9190615cf6565b6000604051808303816000865af19150503d8060008114613cbb576040519150601f19603f3d011682016040523d82523d6000602084013e613cc0565b606091505b5091509150818015613cea575080511580613cea575080806020019051810190613cea9190615c78565b6119e45760405162461bcd60e51b815260206004820152600260248201526114d560f21b6044820152606401610e3d565b60608315613d2a575081610dd1565b610dd18383815115613d3f5781518083602001fd5b8060405162461bcd60e51b8152600401610e3d91906142a5565b82805482825590600052602060002090600f01601090048101928215613df25791602002820160005b83821115613dc257835183826101000a81548161ffff021916908361ffff1602179055509260200192600201602081600101049283019260010302613d82565b8015613df05782816101000a81549061ffff0219169055600201602081600101049283019260010302613dc2565b505b50613dfe929150613ea8565b5090565b82805482825590600052602060002090600101600290048101928215613df25791602002820160005b83821115613e7557835183826101000a8154816001600160801b0302191690836001600160801b031602179055509260200192601001602081600f01049283019260010302613e2b565b8015613df05782816101000a8154906001600160801b030219169055601001602081600f01049283019260010302613e75565b5b80821115613dfe5760008155600101613ea9565b600060208284031215613ecf57600080fd5b5035919050565b600060208284031215613ee857600080fd5b81356001600160e01b031981168114610dd157600080fd5b6001600160a01b038116811461126257600080fd5b8035613f2081613f00565b919050565b60008083601f840112613f3757600080fd5b5081356001600160401b03811115613f4e57600080fd5b602083019150836020828501011115613f6657600080fd5b9250929050565b600080600080600060808688031215613f8557600080fd5b8535613f9081613f00565b94506020860135613fa081613f00565b93506040860135925060608601356001600160401b03811115613fc257600080fd5b613fce88828901613f25565b969995985093965092949392505050565b6001600160a01b03169052565b600060208284031215613ffe57600080fd5b8135610dd181613f00565b6001600160801b03169052565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b038111828210171561404f5761404f614016565b60405290565b604051608081016001600160401b038111828210171561404f5761404f614016565b60405160c081016001600160401b038111828210171561404f5761404f614016565b604051601f8201601f191681016001600160401b03811182821017156140c1576140c1614016565b604052919050565b60006001600160401b038211156140e2576140e2614016565b50601f01601f191660200190565b600082601f83011261410157600080fd5b813561411461410f826140c9565b614099565b81815284602083860101111561412957600080fd5b816020850160208301376000918101602001919091529392505050565b600060a0828403121561415857600080fd5b60405160a081016001600160401b03808211838310171561417b5761417b614016565b816040528293508435915061418f82613f00565b81835260208501356020840152604085013560408401526060850135606084015260808501359150808211156141c457600080fd5b506141d1858286016140f0565b6080830152505092915050565b6000806000606084860312156141f357600080fd5b83356001600160401b038082111561420a57600080fd5b61421687838801614146565b94506020860135915061422882613f00565b9092506040850135908082111561423e57600080fd5b5061424b868287016140f0565b9150509250925092565b60005b83811015614270578181015183820152602001614258565b50506000910152565b60008151808452614291816020860160208601614255565b601f01601f19169290920160200192915050565b602081526000610dd16020830184614279565b60008083601f8401126142ca57600080fd5b5081356001600160401b038111156142e157600080fd5b6020830191508360208260051b8501011115613f6657600080fd5b6000806000806040858703121561431257600080fd5b84356001600160401b038082111561432957600080fd5b614335888389016142b8565b9096509450602087013591508082111561434e57600080fd5b5061435b878288016142b8565b95989497509550505050565b600080600080600080600080600060c08a8c03121561438557600080fd5b893561439081613f00565b985060208a01356143a081613f00565b975060408a0135965060608a01356001600160401b03808211156143c357600080fd5b6143cf8d838e01613f25565b909850965060808c01359150808211156143e857600080fd5b6143f48d838e01613f25565b909650945060a08c013591508082111561440d57600080fd5b5061441a8c828d01613f25565b915080935050809150509295985092959850929598565b6001600160a01b0391909116815260200190565b6000806040838503121561445857600080fd5b82359150602083013561446a81613f00565b809150509250929050565b600080600080600080600060a0888a03121561449057600080fd5b873561449b81613f00565b965060208801356144ab81613f00565b95506040880135945060608801356001600160401b03808211156144ce57600080fd5b6144da8b838c01613f25565b909650945060808a01359150808211156144f357600080fd5b506145008a828b01613f25565b989b979a50959850939692959293505050565b63ffffffff8116811461126257600080fd5b8035613f2081614513565b60006001600160401b0382111561454957614549614016565b5060051b60200190565b61ffff8116811461126257600080fd5b8035613f2081614553565b600082601f83011261457f57600080fd5b8135602061458f61410f83614530565b82815260059290921b840181019181810190868411156145ae57600080fd5b8286015b848110156145d25780356145c581614553565b83529183019183016145b2565b509695505050505050565b6001600160801b038116811461126257600080fd5b8035613f20816145dd565b600082601f83011261460e57600080fd5b8135602061461e61410f83614530565b82815260059290921b8401810191818101908684111561463d57600080fd5b8286015b848110156145d2578035614654816145dd565b8352918301918301614641565b801515811461126257600080fd5b8035613f2081614661565b6000610100828403121561468d57600080fd5b61469561402c565b90506146a082614525565b815260208201356001600160401b03808211156146bc57600080fd5b6146c88583860161456e565b602084015260408401359150808211156146e157600080fd5b506146ee848285016145fd565b60408301525061470060608301613f15565b606082015261471160808301613f15565b608082015261472260a08301613f15565b60a082015261473360c08301613f15565b60c082015261474460e0830161466f565b60e082015292915050565b60006060828403121561476157600080fd5b604051606081016001600160401b038111828210171561478357614783614016565b80604052508091508235815260208301356020820152604083013560408201525092915050565b600080600080600060e086880312156147c257600080fd5b85356147cd81613f00565b945060208601356001600160401b038111156147e857600080fd5b6147f48882890161467a565b945050614804876040880161474f565b925060a086013561481481614513565b915060c086013561482481613f00565b809150509295509295909350565b6000806040838503121561484557600080fd5b823561485081613f00565b915060208301356001600160401b0381111561486b57600080fd5b614877858286016140f0565b9150509250929050565b6000806040838503121561489457600080fd5b823561489f81613f00565b946020939093013593505050565b600082601f8301126148be57600080fd5b813560206148ce61410f83614530565b82815260059290921b840181019181810190868411156148ed57600080fd5b8286015b848110156145d257803561490481613f00565b83529183019183016148f1565b60006080828403121561492357600080fd5b61492b614055565b9050813561493881614513565b815260208281013561494981614553565b8282015260408301356001600160401b038082111561496757600080fd5b614973868387016140f0565b6040850152606085013591508082111561498c57600080fd5b818501915085601f8301126149a057600080fd5b81356149ae61410f82614530565b81815260059190911b830184019084810190888311156149cd57600080fd5b8585015b83811015614a9d578035858111156149e95760008081fd5b860160c0818c03601f1901811315614a015760008081fd5b614a09614077565b614a148a8401614563565b8152614a2260408401614525565b8a82015260608301356040820152608083013588811115614a435760008081fd5b614a518e8c838701016140f0565b60608301525060a08084013589811115614a6b5760008081fd5b614a798f8d838801016148ad565b608084015250614a8a8385016145f2565b90820152855250509186019186016149d1565b50606087015250939695505050505050565b600080600060608486031215614ac457600080fd5b8335614acf81613f00565b925060208401356001600160401b03811115614aea57600080fd5b614af686828701614911565b9250506040840135614b0781614661565b809150509250925092565b60008060408385031215614b2557600080fd5b82356001600160401b03811115614b3b57600080fd5b614b478582860161467a565b925050602083013561446a81614513565b60008060408385031215614b6b57600080fd5b8235915060208301356001600160401b03811115614b8857600080fd5b61487785828601614911565b600080600060608486031215614ba957600080fd5b8335614bb481613f00565b92506020840135915060408401356001600160401b03811115614bd657600080fd5b61424b868287016140f0565b60008060008060608587031215614bf857600080fd5b8435614c0381613f00565b93506020850135925060408501356001600160401b03811115614c2557600080fd5b61435b87828801613f25565b600060208284031215614c4357600080fd5b81356001600160401b03811115614c5957600080fd5b6138f8848285016140f0565b6001600160a01b0392831681529116602082015260400190565b600080600060608486031215614c9457600080fd5b8335614c9f81613f00565b925060208401356001600160401b0380821115614cbb57600080fd5b614cc787838801614146565b9350604086013591508082111561423e57600080fd5b600060608284031215614cef57600080fd5b610dd1838361474f565b8051613f2081614513565b8051613f2081614553565b6000614d1d61410f846140c9565b9050828152838383011115614d3157600080fd5b610dd1836020830184614255565b600082601f830112614d5057600080fd5b610dd183835160208501614d0f565b600082601f830112614d7057600080fd5b81516020614d8061410f83614530565b82815260059290921b84018101918181019086841115614d9f57600080fd5b8286015b848110156145d2578051614db681613f00565b8352918301918301614da3565b8051613f20816145dd565b60006020808385031215614de157600080fd5b82516001600160401b0380821115614df857600080fd5b9084019060808287031215614e0c57600080fd5b614e14614055565b8251614e1f81614513565b815282840151614e2e81614553565b81850152604083015182811115614e4457600080fd5b614e5088828601614d3f565b604083015250606083015182811115614e6857600080fd5b80840193505086601f840112614e7d57600080fd5b8251614e8b61410f82614530565b81815260059190911b84018501908581019089831115614eaa57600080fd5b8686015b83811015614f7857805186811115614ec557600080fd5b870160c0818d03601f19011215614edc5760008081fd5b614ee4614077565b614eef8a8301614d04565b8152614efd60408301614cf9565b8a82015260608201516040820152608082015188811115614f1e5760008081fd5b614f2c8e8c83860101614d3f565b60608301525060a08083015189811115614f465760008081fd5b614f548f8d83870101614d5f565b608084015250614f6660c08401614dc3565b90820152845250918701918701614eae565b5060608401525090979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610c5257610c52614f8b565b8082028115828204841417610c5257610c52614f8b565b80820180821115610c5257610c52614f8b565b60018060a01b0381511682526020810151602083015260408101516040830152606081015160608301526000608082015160a060808501526138f860a0850182614279565b600060018060a01b038087168352608060208401526150456080840187614fde565b9481166040840152929092166060909101525092915050565b60006020828403121561507057600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126150a457600080fd5b8301803591506001600160401b038211156150be57600080fd5b602001915036819003821315613f6657600080fd5b6000600182016150e5576150e5614f8b565b5060010190565b600080604083850312156150ff57600080fd5b823561510a81613f00565b9150602083013561446a81613f00565b80600b0b811461126257600080fd5b6000806040838503121561513c57600080fd5b823561489f8161511a565b6020808252602c90820152600080516020615f1083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020615f1083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600080604083850312156151ce57600080fd5b82359150602083013561446a8161511a565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000608063ffffffff80845116855260208085015161ffff80821683890152604091508187015185838a015261523c868a0182614279565b90506060808901518a8303828c01528281518085528785019150878160051b860101888401935060005b8281101561532357601f19878303018452845160c08982511684528c8c830151168c8501528a8201518b8501528782015181898601526152a882860182614279565b9150508d8201518482038f8601528181518084528e840191508e83019350600092505b808310156152f45783516001600160a01b03168252928e019260019290920191908e01906152cb565b5060a09384015193925061530a86840185614009565b978d0197968d0196945050506001919091019050615266565b509d9c50505050505050505050505050565b6001600160a01b038416815260806020820181905260009061535990830185615204565b9215156040830152508082036060909101526000815260200192915050565b600081518084526020808501945080840160005b838110156153ac57815161ffff168752958201959082019060010161538c565b509495945050505050565b600081518084526020808501945080840160005b838110156153ac5781516001600160801b0316875295820195908201906001016153cb565b6020815263ffffffff82511660208201526000602083015161010080604085015261541f610120850183615378565b91506040850151601f1985840301606086015261543c83826153b7565b92505060608501516154516080860182613fdf565b50608085015161546460a0860182613fdf565b5060a085015161547760c0860182613fdf565b5060c085015161548a60e0860182613fdf565b5060e0850151801515858301525090949350505050565b8281526040602082015260006138f86040830184615204565b805480835260008281526020808220940193909190825b82600f8201101561562257815461ffff808216885260206154fc818a01838560101c1661ffff169052565b6040615511818b018486851c1661ffff169052565b60609150615529828b01848660301c1661ffff169052565b608061553e818c018587851c1661ffff169052565b60a09150615556828c01858760501c1661ffff169052565b60c061556b818d018688871c1661ffff169052565b60e09350615583848d01868860701c1661ffff169052565b61ffff86831c8616166101008d01526155a86101208d01868860901c1661ffff169052565b61ffff86841c8616166101408d01526155cd6101608d01868860b01c1661ffff169052565b61ffff86821c8616166101808d01525050506155f56101a08a01838560d01c1661ffff169052565b82901c1661ffff166101c088015260f01c6101e087015261020090950194600191909101906010016154d1565b9054908281101561563e5761ffff821686526020909501946001015b8281101561565b5761ffff601083901c1686526020909501946001015b8281101561567957602082901c61ffff168652602095909501946001015b828110156156965761ffff603083901c1686526020909501946001015b828110156156b35761ffff604083901c1686526020909501946001015b828110156156d05761ffff605083901c1686526020909501946001015b828110156156ed5761ffff606083901c1686526020909501946001015b8281101561570a5761ffff607083901c1686526020909501946001015b828110156157275761ffff608083901c1686526020909501946001015b828110156157445761ffff609083901c1686526020909501946001015b828110156157615761ffff60a083901c1686526020909501946001015b8281101561577e5761ffff60b083901c1686526020909501946001015b8281101561579b5761ffff60c083901c1686526020909501946001015b828110156157b85761ffff60d083901c1686526020909501946001015b828110156157d55761ffff60e083901c1686526020909501946001015b828110156157ec5760f082901c86525b6020860195505b5093949350505050565b805480835260008281526020808220940193909190825b6001838183011061581e5750615858565b8254615833886001600160801b038316614009565b615843602089018260801c614009565b5060409690960195919091019060020161580d565b9054908281101561588157615876866001600160801b038416614009565b602095909501946001015b828110156157ec576157e5868360801c614009565b6001600160a01b031690565b6000608063ffffffff80845116855260208085015161ffff80821683890152604091508187015185838a01526158da868a0182614279565b90506060808901518a8303828c01528281518085528785019150878160051b860101888401935060005b8281101561532357601f19878303018452845160c08982511684528c8c830151168c8501528a8201518b85015287820151818986015261594682860182614279565b9150508d8201518482038f8601528181518084528e840191508e83019350600092505b808310156159925783516001600160a01b03168252928e019260019290920191908e0190615969565b5060a0938401519392506159a886840185614009565b978d0197968d0196945050506001919091019050615904565b60006101008883528754602084015260018801546040840152600288015460608401528660808401528060a0840152615a0e818401615a04885463ffffffff1690565b63ffffffff169052565b610120830152615a256102008301600187016154ba565b82810360ff1901610140840152615a3f81600288016157f6565b9050615a4e6003870154615896565b615a5c610160850182613fdf565b50615a6a6004870154615896565b615a78610180850182613fdf565b50615a866005870154615896565b615a946101a0850182613fdf565b506006860154615ab16101c085016001600160a01b038316613fdf565b615ac66101e0850160ff8360a01c1615159052565b508460c084015282810360e084015261101981856158a2565b600060208284031215615af157600080fd5b8151610dd181613f00565b8254815260018301546020820152600283015460408201526003830154610120820190615b35606084016001600160a01b038316613fdf565b615b47608084018260a01d600b0b9052565b50615b556004850154615896565b615b6260a0840182613fdf565b50600584015460c0830152600684015460e0830152610dd1610100830184613fdf565b600080600080600080600060e0888a031215615ba057600080fd5b875196506020880151955060408801519450606088015193506080880151615bc78161511a565b60a0890151909350615bd88161511a565b60c0890151909250615be98161511a565b8091505092959891949750929550565b600060018060a01b03808816835260a06020840152615c1b60a0840188614fde565b9581166040840152938416606083015250911660809091015292915050565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090615c6e90830184614279565b9695505050505050565b600060208284031215615c8a57600080fd5b8151610dd181614661565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60008060008060808587031215615cce57600080fd5b845193506020850151615ce08161511a565b6040860151606090960151949790965092505050565b60008251615d08818460208701614255565b9190910192915050565b600060208284031215615d2457600080fd5b8151610dd181614513565b600b82810b9082900b0360016001605f1b0319811260016001605f1b0382131715610c5257610c52614f8b565b8781526001600160a01b03878116602083015286811660408301528516606082015263ffffffff84166080820152600b83900b60a082015260e060c0820181905260009061101990830184614279565b600060208284031215615dbe57600080fd5b81516001600160401b03811115615dd457600080fd5b8201601f81018413615de557600080fd5b6138f884825160208401614d0f565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351615e26816017850160208801614255565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351615e57816028840160208801614255565b01602801949350505050565b634e487b7160e01b600052600160045260246000fd5b600060208284031215615e8b57600080fd5b8151610dd18161511a565b600082615eb357634e487b7160e01b600052601260045260246000fd5b500490565b600081615ec757615ec7614f8b565b50600019019056fea9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3f0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc946756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564829b824e2329e205435d941c9f13baf578548505283d29261236d8e6596d4636a264697066735822122076aae20343c7b7ce056b614cbf27adb9e03039dc4aa5cba486bbfe2447c3d1d464736f6c63430008130033";
|
|
2111
2134
|
|
|
2112
2135
|
type DirectPaymentsPoolConstructorParams =
|
|
2113
2136
|
| [linkLibraryAddresses: DirectPaymentsPoolLibraryAddresses, signer?: Signer]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { Contract, Signer, utils } from "ethers";
|
|
6
|
+
import type { Provider } from "@ethersproject/providers";
|
|
7
|
+
import type {
|
|
8
|
+
IClaimable,
|
|
9
|
+
IClaimableInterface,
|
|
10
|
+
} from "../../../../contracts/UBI/MultiClaimModule.sol/IClaimable";
|
|
11
|
+
|
|
12
|
+
const _abi = [
|
|
13
|
+
{
|
|
14
|
+
inputs: [],
|
|
15
|
+
name: "claim",
|
|
16
|
+
outputs: [],
|
|
17
|
+
stateMutability: "nonpayable",
|
|
18
|
+
type: "function",
|
|
19
|
+
},
|
|
20
|
+
] as const;
|
|
21
|
+
|
|
22
|
+
export class IClaimable__factory {
|
|
23
|
+
static readonly abi = _abi;
|
|
24
|
+
static createInterface(): IClaimableInterface {
|
|
25
|
+
return new utils.Interface(_abi) as IClaimableInterface;
|
|
26
|
+
}
|
|
27
|
+
static connect(
|
|
28
|
+
address: string,
|
|
29
|
+
signerOrProvider: Signer | Provider
|
|
30
|
+
): IClaimable {
|
|
31
|
+
return new Contract(address, _abi, signerOrProvider) as IClaimable;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { Contract, Signer, utils } from "ethers";
|
|
6
|
+
import type { Provider } from "@ethersproject/providers";
|
|
7
|
+
import type {
|
|
8
|
+
IModule,
|
|
9
|
+
IModuleInterface,
|
|
10
|
+
} from "../../../../contracts/UBI/MultiClaimModule.sol/IModule";
|
|
11
|
+
|
|
12
|
+
const _abi = [
|
|
13
|
+
{
|
|
14
|
+
inputs: [],
|
|
15
|
+
name: "getModuleTypes",
|
|
16
|
+
outputs: [
|
|
17
|
+
{
|
|
18
|
+
internalType: "uint256",
|
|
19
|
+
name: "",
|
|
20
|
+
type: "uint256",
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
stateMutability: "view",
|
|
24
|
+
type: "function",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
inputs: [
|
|
28
|
+
{
|
|
29
|
+
internalType: "uint256",
|
|
30
|
+
name: "typeID",
|
|
31
|
+
type: "uint256",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
name: "isModuleType",
|
|
35
|
+
outputs: [
|
|
36
|
+
{
|
|
37
|
+
internalType: "bool",
|
|
38
|
+
name: "",
|
|
39
|
+
type: "bool",
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
stateMutability: "view",
|
|
43
|
+
type: "function",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
inputs: [
|
|
47
|
+
{
|
|
48
|
+
internalType: "bytes",
|
|
49
|
+
name: "data",
|
|
50
|
+
type: "bytes",
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
name: "onInstall",
|
|
54
|
+
outputs: [],
|
|
55
|
+
stateMutability: "nonpayable",
|
|
56
|
+
type: "function",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
inputs: [
|
|
60
|
+
{
|
|
61
|
+
internalType: "bytes",
|
|
62
|
+
name: "data",
|
|
63
|
+
type: "bytes",
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
name: "onUninstall",
|
|
67
|
+
outputs: [],
|
|
68
|
+
stateMutability: "nonpayable",
|
|
69
|
+
type: "function",
|
|
70
|
+
},
|
|
71
|
+
] as const;
|
|
72
|
+
|
|
73
|
+
export class IModule__factory {
|
|
74
|
+
static readonly abi = _abi;
|
|
75
|
+
static createInterface(): IModuleInterface {
|
|
76
|
+
return new utils.Interface(_abi) as IModuleInterface;
|
|
77
|
+
}
|
|
78
|
+
static connect(
|
|
79
|
+
address: string,
|
|
80
|
+
signerOrProvider: Signer | Provider
|
|
81
|
+
): IModule {
|
|
82
|
+
return new Contract(address, _abi, signerOrProvider) as IModule;
|
|
83
|
+
}
|
|
84
|
+
}
|